为什么我的音频没有倒带
Why isn't my audio rewinding?
我在Javascript中倒带音频时遇到了一些麻烦。我基本上有一个倒计时,当它接近倒计时结束时,每秒都会发出哔哔声。
我尝试使用;
var bip = new Audio("http://www.soundjay.com/button/beep-7.wav");
bip.play();
但它并没有每秒发出哔哔声,我猜这与它必须每秒加载新声音有关。然后,我尝试从外部加载声音并使用以下代码触发它。
bip.pause();
bip.currentTime = 0;
console.log(bip.currentTime);
bip.play();
但这只播放一次声音,然后完全无法倒带(控制台在第一次播放后记录了 0.19 秒的时间)。
我在这里缺少什么吗?
在谷歌浏览器中,我注意到它仅在音频文件位于同一域时才有效。如果音频文件位于同一域中,我没有问题。事件设置.currentTime
有效。
跨域:
var bip = new Audio("http://www.soundjay.com/button/beep-7.wav");
bip.play();
bip.currentTime; //0.10950099676847458
bip.currentTime = 0;
bip.currentTime; //0.10950099676847458
同域:
var bip = new Audio("beep-7.wav");
bip.play();
bip.currentTime; //0.10950099676847458
bip.currentTime = 0;
bip.currentTime; //0
我尝试了一段时间的谷歌搜索,在规格中找不到任何关于这个甚至任何讨论的内容。
当我想倒带时,我只需再次加载音频:
my_audio.load()
*顺便说一句,我还使用"canplay"的事件侦听器来触发my_audio.play()。这似乎在安卓中是必要的,也许其他设备也是如此*
从Chrome版本37.0.2062.120 m
开始,@Esailija描述的行为没有改变。
我通过以 base64 编码对音频数据进行编码并使用 data:
URL 将数据馈送到Audio()
来解决此问题。
测试代码:
snd = new Audio('data:audio/ogg;base64,[...base64 encoded data...]');
snd.onloadeddata = function() {
snd.currentTime = 0;
snd.play();
setTimeout(function() {
snd.currentTime = 0;
snd.play();
}, 200);
};
(我很惊讶没有关于这个问题的错误报告或参考......或者也许我的谷歌赋不够强大。
为了进一步回答dsdsdsddsdsddsdds
注意:在我的应用程序中,loc1
是一个虚拟的,指的是歌曲的存储位置
// ... code before ...
tune = new Audio(loc1); // First, create audio event using js
// set up "song's over' event listener & action
tune.addEventListener('ended', function(){
tune.load(); //reload audio event (and reset currentTime!)
tune.play(); //play audio event for subsequent 'ended' events
},false);
tune.play(); // plays it the first time thru
// ... code after ...
我花了几天又几天的时间试图弄清楚我做错了什么,但现在一切正常......至少在桌面浏览器上...
相关文章:
- 如何播放部分音频文件
- 音频控件在mouseover上显示,在mouseout上淡出
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 使用带括号的图像URL作为jQuery的背景
- HTML Playing Base 64编码音频,带angularJS,错误:[$interpole:nooncat]
- 在Javascript中实现倒带功能
- 播放不带音频标签的音频
- 为什么我的音频没有倒带
- 如何将变量递增 1 以限制,然后倒带并重复递增 - jQuery
- 带音频的桌面捕获
- ff和倒带,而不使用currentTime属性
- 我如何创建一个YouTube视频的倒带功能
- HTML5视频暂停和倒带
- 滑块,在第5张幻灯片之后,倒带需要更改以继续前进
- 如何在html5-video中允许倒带但禁用快进
- 任何方式有一个15秒的倒带按钮在jPlayer jquery插件
- HTML 5带播放列表的音频
- 如何使计时器每秒挠痒痒,并在转发或倒带视频时使其跳跃
- 如果视频=持续时间,停止并倒带