如何优化这个随机播放列表html5音频脚本

时间:2015-08-19 11:47:52

标签: html5 audio random playlist

<script type="text/javascript">
function random_playlist(){
    var myrandom=Math.round(Math.random()*4);
    var soundurl='http://dummy.xy/dummy.mp3';

    if      (myrandom==0){soundurl='http://path_to.mp3';}
    else if (myrandom==1){soundurl='http://path_to.mp3';}
    else if (myrandom==2){soundurl='http://path_to.mp3';}
    else if (myrandom==3){soundurl='http://path_to.mp3';}
    else if (myrandom==4){soundurl='http://path_to.mp3';}
    console.log(soundurl);
    return soundurl;
    };
</script>

<audio id="audioplayer_id" controls="controls" loop>
<source id="source_id" src="" type="audio/mp3"/>
Your browser does not support the audio element
</audio>

<script type="text/javascript">
    var audioload = random_playlist();
    console.log(audioload);
    document.getElementById('source_id').src= audioload;
    var audioplayer_id = document.getElementById('audioplayer_id')
      audioplayer_id.volume = 0.15;
      audioplayer_id.load(); 
      audioplayer_id.play();
</script>

对我来说效果很好,但可以优化还是可以?

我只是从各种来源一起攻击这个似乎html5没有在音频标签中集成播放列表功能,这对我来说似乎很有趣。 招呼

1 个答案:

答案 0 :(得分:0)

您可以像这样缩短random_playlist函数:

function random_playlist(){
    var PATHS = ['http://path_to.mp3', 'http://path_to.mp3', 'http://path_to.mp3'];
    return PATHS[Math.floor(Math.random() * PATHS.length)];
}

或(更好但更复杂的版本):

var random_playlist = (function(){
        var PATHS = ['http://path_to.mp3', 'http://path_to.mp3', 'http://path_to.mp3'];
        return function(){
                return PATHS[Math.floor(Math.random() * PATHS.length)]
        };
}())