javascript - 在随机位置开始 HTML5 <Audio>

标签 javascript html audio

我有一个大约 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/

相关文章:

JavaScript 正则表达式

javascript - 始终登录我的 android 和 ios 移动应用程序

javascript - Safari 8 中新打开的对话框高度不正确

css - 2列DIV布局

java - Java声音API。从调音台获取支持的音频格式

django - 在 Django 模板中播放 <audio></audio> 文件

javascript - 查找所有元素,如果没有该类,则使用 jQuery 添加其他类

javascript - 使用 `object` 创建 `createElement` 标签会返回一个函数而不是对象

javascript - 在angularjs中动态应用css

excel - 将数据输入列时在excel中播放声音