我有一个大约 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 中使用此属性的值来决定音频文件的起始位置。
关于javascript - 在随机位置开始 HTML5 <Audio>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830375/