使用Javascript播放音频元素(html5)
Using Javascript to play an audioelement (html5)
我正试图弄清楚如何触发从javascript播放音频。我得到了一些html,看起来像:
<div class='audio' >foo
<audio preload='auto' controls src='test.wav'>
<b>Your browser does not support the audio tag.</b>
</audio>
</div>
我正试图用来触发它
$(document).ready(function () {
$('.audio').each(function(){
var audio = $(this).find('audio').get();
$(this).click(function(){
audio.volume = 100;
alert('1 '+audio);
audio.play();
alert('2');
});
});
});
警报('1'+音频);按预期工作,并将音频报告为HTMLAudioElement。但是,提醒('2');未调用,因为我得到错误"audio.play"不是函数。我能做些什么来解决这个问题?
您的代码看起来非常完美。你得到的错误是"alert.play"不是一个功能,或者"audio.play"不是一种功能。
我认为
var audio = $(this).find('audio').get();
返回一个数组尝试这个
var audio = $(this).find('audio').get(0);
如果给音频标签一个ID:,那么只使用JavaScript在没有jQuery的情况下控制音频会更容易
<audio id="myAudioTagID" type="audio/mpeg" src="sound.mp3"></audio>
然后您可以简单地获取元素并应用.pause()、.start()、stop():
var audio = document.getElementById("myAudioTagID");
audio.play();
audio.pause();
audio.stop();
相关文章:
- 从所有元素中删除HTML5验证
- iPad没有加载所有HTML5元素
- 在IE8上使用jQuery克隆HTML5元素和事件
- HTML5在提交并显示所需标签后显示隐藏的表单元素
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- <的自定义进度条;音频>并且<进度>HTML5元素
- 在keydown(JS,Jquery)上更改HTML5 Canvas元素
- 条形图元素的HTML5 JavaScript锚点
- HTML5-画布元素&自定义光标
- 无法为HTML5中具有画布和图像的可拖动元素设置“拖动图像”
- 注册后是否可以定义HTML5自定义元素中的生命周期回调
- 我试图用jQuery让每个HTML5元素一次淡出一个
- 带有HTML5元素的JavaScript网站欢迎加载器
- DIV标签和HTML5元素之间应该使用什么以及有什么区别(部分,文章)
- AngularJS如何摆脱使用自定义HTML5元素标签和属性
- 不支持的HTML5元素和属性的JavaScript解决方法
- <音频>使用Javascript的HTML5元素状态
- 将源更改为
- AngularJS'禁用'选项'HTML5元素
- 避免在HTML5