Raj*_*jat 23 javascript audio html5
我正在使用Chrome.在我的开发工具控制台中,我尝试了以下方法:
一切都按预期工作,除了最后一行.为什么我不能上台currentTime呢?
另外一般来说,我发现整个HTML5音频的东西不是很可靠.是否有一个强大的javascript包装,可以回退到闪存?
小智 10
检查您的 HTTP 服务器配置,在我的测试环境(Mac OS 上的 Chrome 69)中,设置音频元素的currentTime属性仅在音频源由支持持久连接的 HTTP 服务器提供服务时才有效。
如果你使用的 HTTP 服务器支持持久连接,你会发现(在 Chrome DevTool 中)你的音频源响应头的 Connection 字段是keep-alive。相比之下,如果音频源由不兼容的持久连接服务器提供服务,则响应标头中将没有 Connection 字段。
您的音频源 HTTP 请求的状态码也将作为参考,206 Partial Content表示支持长连接的服务器,200 OK表示次等。
为什么我不能设置
currentTime它?
设置为 后无法重现currentTime设置为。持续时间是否小于?01018.mp310
var request = new XMLHttpRequest();
request.open("GET", "/assets/audio/18.mp3", true);
request.responseType = "blob";
request.onload = function() {
if (this.status == 200) {
var audio = new Audio(URL.createObjectURL(this.response));
audio.load();
audio.currentTime = 10;
audio.play();
}
}
request.send();
Run Code Online (Sandbox Code Playgroud)
jsfiddle http://jsfiddle.net/Lg5L4qso/3/
你需要做这样的事情(如果你使用jQuery)
$('#elem_audio').bind('canplay', function() {
this.currentTime = 10;
});
Run Code Online (Sandbox Code Playgroud)
或者在Javascript中
var aud = document.getElementById("elem_audio");
aud.oncanplay = function() {
aud.currentTime = 10;
};
Run Code Online (Sandbox Code Playgroud)
此设置背后的原因是您需要确保音频已准备好播放.
我遇到了同样的问题,原因是 mp3 文件中缺少标题,例如:
Content-Length, Content-Range, Content-Type
| 归档时间: |
|
| 查看次数: |
6449 次 |
| 最近记录: |