我有一个大约2小时长的音轨,我想在我的网站上使用。我希望它在页面加载时以随机位置开始播放曲目。使用HTML5是否可以?我知道您可以使用element.currentTime()函数获取当前位置,但是在完全下载之前如何获取轨道的总时间呢?我已经尝试过.load .preload .autobuffer以及数百种其他组合。

<script>

var stream_url_mp3 = "";
var stream_url_ogg = "";
var stream_total_time = 100;
var stream_start_time = Math.floor(Math.random() * stream_total_time);
var daJukebox = document.createElement('audio');

if (daJukebox.canPlayType) {

    if ("" != daJukebox.canPlayType('audio/mpeg')) {
        daJukebox.src = stream_url_mp3;
    } else if ("" != myAudio.canPlayType('audio/ogg; codecs="vorbis"')) {
        daJukebox.src = stream_url_ogg;
    }

    daJukebox.preload = true;
    daJukebox.autobuffer = true;
    daJukebox.pause();
    daJukebox.currentTime = stream_start_time;
    daJukebox.play();

}

谢谢 :)

最佳答案

如果无法从HTML5音频元素获取信息,则可以确定服务器的持续时间,然后将该信息作为数据属性传递给HTML。例如:
<audio id="some-id" data-duration="7200">
其中7200是时间(以秒为单位)(或其他时间单位)。然后,您可以在JavaScript中使用此属性的值来确定从何处启动音频文件。

09-16 14:55