IE 播放 .wav 格式音频

解决 IE 浏览器无法播放的音频格式

function packageImage (url) {
	var content = '';
	// 先判断是否为音频,然后在判断是 IE 或者 Google 浏览器播放
	if ( isAudioFile(url)) {
		//判断 IE 或者 Google 浏览器播放音频
		content = getAudioDom(url);
	}
	return content;
}



// 判断是否为音频文件。 
//我这里是传入的整个 url 链接,我要在链接中截取到文件的后缀名,然后判断是否为音频文件
function isAudioFile(url) {
	var flag = false;
	var audioType = ["avi","wmv","mpg","mpeg","mov","rm","ram","swf","flv","mp4","mp3","wma","rm","rmvb","flv","mpg","ogg","wav"];  //音频后缀,要小写

	var str = url.match(/@(\S*)&/)[1]; //文件名
	var lowerCase = str.toLowerCase();

	//这部分文件后缀名是根据我自己当前业务传入做的判断,结合自己的情况判断.
	var index = lowerCase.lastIndexOf(".");
	var suffix =lowerCase.substring(index+1,lowerCase.length); //后缀名

	if (audioType.indexOf(suffix) !== -1) {
		console.log("当前文件为音频文件,文件名为="+str);
		flag = true;
	}
	return flag;
}

//判断 IE 或者 Google 浏览器播放音频
function getAudioDom(src) {
	var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
	if (
		(userAgent.indexOf("Trident") > -1 && userAgent.indexOf("rv:11.0")) ||
		(userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1)
	) {
		//如果为ie浏览器则显示embed
		return (
			'+
			src +
			'" menu="true" loop="false" align="center" preload="auto" autostart="false">\ '
		);
	} else {
		return (
			'
			src +
			'" type="audio/wav" id="record-audio" preload>'
		);
	}
}


你可能感兴趣的:(前端,JavaScript)