为什么我的音频自动播放两次
Why is my audio autoplaying twice?
这是一个jsfiddle:http://jsfiddle.net/webmagnets/snGY4/
单击圆圈播放按钮时,音频会播放两次。
这是 html: <i class="icon-play-circle" />
这是jquery代码:
$("i.icon-play-circle").click(function(){
var word = "你好"
var url = 'http://apifree.forvo.com/key/b1b0641fac44c20e42373e0af5d05325/format/json/callback/pronounce/action/standard-pronunciation/word/'+encodeURI(word)+'/language/zh';
$.ajax({
url: url,
jsonpCallback: "pronounce",
dataType: "jsonp",
type: "jsonp",
success: function (json) {
var mp3 = json.items[0].pathmp3;
var ogg = json.items[0].pathogg;
var sound = '<audio autoplay="true"><source src='+mp3+'</source><source src='+ogg+'</source></audio>';
$('body').append(sound);
},
error: function(){
console.log("error");
}});
});
上面的 API 密钥是罚球。
谁能帮我解决这个问题?
这就是最终对我有用的原因:http://jsfiddle.net/webmagnets/snGY4/3/
.html:
<i class="icon-play-circle" />
<audio>
<source id='mp3' src='' />
<source id='ogg' src='' />
</audio>
JavaScript:
$("i.icon-play-circle").click(function(){
var word = "你好";
var url = 'http://apifree.forvo.com/key/b1b0641fac44c20e42373e0af5d05325/format/json/callback/pronounce/action/standard-pronunciation/word/'+encodeURI(word)+'/language/zh';
$.ajax({
url: url,
jsonpCallback: "pronounce",
dataType: "jsonp",
type: "jsonp",
success: function (json) {
var mp3 = json.items[0].pathmp3;
var ogg = json.items[0].pathogg;
var sound = '<audio autoplay="false"><source src='+mp3+' type="audio/mpeg"</source><source src='+ogg+' type="audio/ogg"</source></audio>';
$('audio:first-child').attr('src',mp3);
$('audio:last-child').attr('src',ogg);
$('audio')[0].play();
},
error: function(){
console.log("error");
}});
});
//above api key is a free throw away.
相关文章:
- ng在一页中包含两次相同的部分页面
- Angular JS:使用ng重复计算每行两次之间的差
- ng标记输入,不允许在文本框中输入两次相同的文本
- outerWidth(true) 连续返回两次不同的值,而无需重新加载页面
- 我怎样才能计算两次之间的差值
- 不能在ng类上重复两次相同的条件
- 在一个元素上添加两次相同的类
- 如何用d3加载两次相同的更新csv
- 检查两次之间的时间间隔
- 为什么我可以在javascript中定义两次相同的函数
- 上传两次相同的图像文件-Javascript
- 两次之间的Javascript
- 用分钟计算两次约会的差异
- 使用jQuery和javascript计算两次之间的差异,并以分钟为单位返回
- 无法运行包含两次setTimeout()的函数.奇怪的行为
- 两次相同的onclick功能-只有一个工作
- 两次之间的时间间隔
- Javascript if语句和&&当使用两次相同的变量时,操作符不工作
- 为什么我的Angular.js控制器在下面的代码中执行了两次它的函数?
- 我如何用分钟计算两次约会的时间差