在页面里面播放音频文件

一、注意点

1、由于浏览器兼容问题,在IE浏览器里面应该使用<embed/>标签,在非IE浏览器里面应该使用<audio/>标签,否则播放不了声音。

2、无论上面哪种标签,其src属性都不支持本地路径,应该使用http地址进行赋值。

3、针对音频文件名或音频文件路径中存在中文时播放不了声音的问题,其原因是tomcat配置文件中编码问题,即,需要在server.xml文件中的<Connector>标签中设置URIEnconding="utf-8"。

4、当文件名中包含特殊符号时(例如包含单引号:What if you don't want me to find one another-20161129225909.wav),在对src进行赋值时,得注意一些技巧,例如:

var strEmbed = '<audio autoplay="autoplay"><source src="What if you don't want me to find one another-20161129225909.wav" type="audio/wav"/></audio>';

$("#audioPlayDiv").html(strEmbed);

即,应该在最外层使用单引号,而里面的属性值使用双引号。反之则无法播放。


二、示例

js:

var audioPath = "http://xxxx";
if(isIE()){
	var strEmbed = '<embed name="embedPlayTest" src="'+audioPath+'" autostart="true" hidden="false" loop="false"></embed>';  
	$("#audioPlayDiv").html(strEmbed);
	var embed = document.embedPlayTest;
	//embed.volume = 100;
	embed.play();
}else{
	var strEmbed = '<audio autoplay="autoplay"><source src="'+audioPath+'" type="audio/wav"/></audio>';  
	$("#audioPlayDiv").html(strEmbed);
}

页面:

<div id="audioPlayDiv" style="display:none;"></div>



展开阅读全文

没有更多推荐了,返回首页