相关疑难解决方法(0)

html5音频播放器 - jquery切换点击播放/暂停?

我想知道我做错了什么?

    $('.player_audio').click(function() {
    if ($('.player_audio').paused == false) {
        $('.player_audio').pause();
        alert('music paused');
    } else {
        $('.player_audio').play();
        alert('music playing');
    }
});
Run Code Online (Sandbox Code Playgroud)

如果我点击"player_audio"标签,我似乎无法启动音轨.

<div class='thumb audio'><audio class='player_audio' src='$path/$value'></audio></div>
Run Code Online (Sandbox Code Playgroud)

我知道我做错了什么或者我要做些什么才能让它发挥作用?

audio jquery html5

49
推荐指数
4
解决办法
18万
查看次数

IE释放blob网址

我有两个音频文件,必须一个接一个地播放.为此,我使用XHR下载了这两个文件

var xhr = new XMLHttpRequest();
xhr.open('GET', fileURL, true);
xhr.responseType = 'arraybuffer';

xhr.onload = function () {
  data = new Uint8Array(xhr.response);
  //... other handling code
};
Run Code Online (Sandbox Code Playgroud)

并从他们那里构建了一个Blob

var blob = new Blob([data], {type: 'video/mp4'})

这些我用来构建Blob URL

var url = URL.createObjectURL(blob)

然后将其注入<audio>标签.(audioDOM.src = url;)

此过程适用于Chrome和Firefox.但IE11有时会给我一个问题,它会显示以下通知:

通过关闭为其创建的blob来撤消一个或多个blob URL.这些URL将不再解析,因为已释放支持URL的数据.

然而,最奇怪的部分是它对第一个文件起作用(在IE中),但对第二个文件不起作用.它们都对整个过程使用相同的代码,只需使用不同的代码即可fileURL.这两个文件都存在,已正确下载并已记录到控制台进行验证.

我试图在构造blob之前复制数据,但似乎并不重要:错误仍然存​​在.

有谁知道导致问题的原因以及如何解决问题?

在sbgoran之后编辑:整个脚本在单个文档上运行,该文档未被重新加载.我仍然感到困惑,为什么会这样.我确实设法通过在音频无法加载时循环和创建新URL来创建变通方法,但这不是一个可行的解决方案.奇怪的是,上述方法随机失败:有时URL在加载到<audio>标签时可用,有时则不是.

javascript blob

4
推荐指数
1
解决办法
2197
查看次数

确定何时暂停HTML5音频或使用jQuery完成跟踪

我正在制作一个HTML5音频标签,我想在歌曲结束时触发一个事件.这有可能与jQuery?

我的jQuery代码是:

      $(document).ready(function(){

var music = new Audio("sample.mp3");
$('#play').click(function(){
    music.play();
});

$('#pause').click(function(){
 music.pause();
});

         });
Run Code Online (Sandbox Code Playgroud)

我的HTML5是:

<input type="button" value="Play" id="play" />
<input type="button" value="Pause" id=pause" />
Run Code Online (Sandbox Code Playgroud)

audio jquery html5

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

audio ×2

html5 ×2

jquery ×2

blob ×1

javascript ×1