我有一个大约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中使用此属性的值来确定从何处启动音频文件。