`

JS对不同的浏览器播放音频文件

 
阅读更多

网上找了好多方法,都没有成功,js如果想要完全控制object对象,会提示TypeError: player.controls is undefined错误,是因为需要安装音频播放器插件。无意中灵机一动采用了一种便捷的方法轻松实现了,无需安装插件(ie自带的media player插件),感谢灵感。

 

Code:

<head>

<meta http-equiv="pragma" content="no-cache" />

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />

<meta http-equiv="expires" content="0" />

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

</head>

 

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

  <a href="javascript:void(0);" onclick="startSound();">播放</a>

  <a href="javascript:void(0);" onclick="stopSound();">停止</a>

<script type="text/javascript">

function startSound() {

var mp3snd = "文件路径";

var myaudiohtml = "";

if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {

myaudiohtml += '<embed src="'+mp3snd+'" type=application/x-mplayer2 width="0" height="0" autostart="1"/>';

} else if (navigator.userAgent.toLowerCase().indexOf("firefox") != -1) {

myaudiohtml += '<object data="'+mp3snd+'" type="application/x-mplayer2" width="0" height="0">';

myaudiohtml += '<param name="filename" value="'+mp3snd+'">';

myaudiohtml += '<param name="autostart" value="1">';

myaudiohtml += '<param name="playcount" value="infinite">';

myaudiohtml += '</object>';

} else {

myaudiohtml += '<audio src="'+mp3snd+'" autoplay="autoplay" loop="loop">';

myaudiohtml += '<object data="'+mp3snd+'" type="application/x-mplayer2" width="0" height="0">';

myaudiohtml += '<param name="filename" value="'+mp3snd+'">';

myaudiohtml += '<param name="autostart" value="1">';

myaudiohtml += '<embed height="2" width="2" src="'+mp3snd+'" pluginspage="http://www.apple.com/quicktime/download/" type="video/quicktime" controller="false" controls="false" autoplay="true" autostart="true" loop="false"><br>';

myaudiohtml += '</embed></object>';

myaudiohtml += '</audio>';

}

document.getElementById("audioDiv").innerHTML = myaudiohtml;

}

function stopSound() {

document.getElementById("audioDiv").innerHTML = "";

}

</script>

1
1
分享到:
评论

相关推荐

    html支持微信浏览器自动播放音频及视频

    为了确保在不同平台和浏览器上的兼容性,可以使用JavaScript检测用户设备,并根据结果决定是否自动播放: ```html var audio = document.getElementById('myAudio'); var video = document.getElementById('...

    实现base64格式的amr音频文件在android微信内置浏览器的播放

    在Android平台上,微信内置浏览器对某些特定格式的音频文件支持有限,例如AMR格式。AMR(Adaptive Multi-Rate)是一种广泛用于语音编码的压缩格式,尤其在移动通信领域。由于其高效的压缩率,AMR文件在传输和存储时...

    js 播放amr音频文件

    在IT行业中,音频处理是网页应用中的一个重要...总的来说,JavaScript播放AMR音频文件涉及到文件编码转换、浏览器兼容性处理等多个技术点。理解这些知识并灵活运用,能够帮助我们构建更丰富、更具用户体验的Web应用。

    web 页播放mp3音频文件

    在网页上播放MP3音频文件是Web开发中的一个常见需求,尤其在构建音乐分享平台、在线教育网站或者游戏音效等方面。MP3是一种高效的音频压缩格式,它可以在保持较高音质的同时大大减小文件大小,使得音频文件在网络上...

    网页声音播放(支持多种浏览器)

    以上代码首先创建了AudioContext对象,然后异步加载音频文件并解码为音频缓冲区,最后通过创建BufferSource节点并连接到AudioContext的destination来播放音频。 此外,为了确保在不同浏览器中播放效果一致,我们还...

    JS播放Amr音频

    在JavaScript(JS)中播放AMR(Adaptive Multi-Rate)音频文件可能涉及到一些技术细节,因为AMR格式主要用于语音编码,通常在移动设备上使用,而浏览器原生支持的音频格式主要是MP3、AAC或者WAV等。下面将详细介绍...

    FLV格式的浏览器播放插件

    其中,`flv.js`是一个重要的开源JavaScript库,由Bilibili开发并维护,它提供了在现代浏览器中解码和播放FLV视频的能力。这个插件可能包含以下关键组成部分: 1. **flvjs**:这是核心库,负责解析FLV文件头,解码H....

    HTML播放声音文件{只兼容IE内核的浏览器}

    1. 使用JavaScript库,如JPlayer或MediaElement.js,这些库提供了跨浏览器的音频播放解决方案。 2. 针对IE内核,使用ActiveX对象,如`&lt;object&gt;`或`&lt;embed&gt;`标签,配合Windows Media Player ActiveX控件来播放WMA格式...

    amr音频播放插件

    1. **浏览器兼容性**:不同浏览器对音频格式的支持程度不一,因此需要确保插件能检测到浏览器的音频播放能力,并适配相应的编码和解码方案。 2. **AMR解码**:插件的核心是AMR解码器,它将AMR数据转换为可以在Web上...

    在html中插入音频文件在浏览器中播放音频文件的兼容性问题

    在HTML中插入音频文件并确保在不同浏览器中播放是一项挑战,因为不同的浏览器支持不同的音频格式和标签。以下是对描述中提到的问题和解决方案的详细分析: 1. `&lt;embed&gt;` 标签:这是一个通用的嵌入标签,用于插入...

    arm音频页面播放js.zip

    这个压缩包内包含了一个JavaScript库,可能是为了帮助开发者在网页环境下处理和播放AMR音频文件。 描述中提到,“页面如果播放amr音频的话,可以集成这个js”,这暗示了压缩包中的JavaScript文件能够提供AMR音频的...

    js-beater:从浏览器与音频文件或麦克风互动

    从浏览器与音频文件或麦克风互动。 在尝试如何使用从麦克风播放 &lt; script src =" jsbeater.js " &gt; &lt;/ script &gt;&lt; script &gt;window . onload = ( ) =&gt; {let threshold = 180 // Default 180jsbMic ( ...

    浏览器麦克风实时录制音频流数据,通过websocket传输

    Web Audio API是HTML5引入的一套强大的音频处理工具,它允许开发者在浏览器中捕获、处理和播放音频。通过创建AudioContext对象,我们可以访问各种音频节点,如MediaStreamAudioSourceNode,它可以从用户的麦克风...

    使用audio标签播放mp3,amr,wav文件

    例如,可以使用JavaScript库如`MediaElement.js`或者服务端语言如Node.js配合`ffmpeg`工具将AMR转换为MP3或WAV格式,以确保大多数浏览器都能播放。 五、额外的音频控制 除了基本的播放、暂停和音量控制,`&lt;audio&gt;`...

    播放远程wav音频文件

    本知识点主要聚焦于如何播放远程的WAV音频文件,这是一种无损音频格式,广泛用于各种应用场景。在给定的资源中,我们有一个名为"index.php"的案例文件,它是用PHP编写的,将展示如何实现远程WAV文件的播放。 首先,...

    html5自定义音频播放界面

    需要注意的是,不同的浏览器可能对不同格式的支持程度不同,因此最好提供多种格式的音频源,以确保跨浏览器兼容性。 6. **多音频文件管理**: 在这个项目中,有多个音频文件(我爱你胜过你爱我.mp3、你是我的眼....

    js调用计算机喇叭播放声音

    在这个例子中,文件名为"track27.wav",这是一个Wave(WAV)格式的音频文件。在JS中,你可以使用`fetch`或`XMLHttpRequest`来加载音频数据,然后通过AudioContext的`decodeAudioData`方法解码音频数据。例如: ```...

    js录音和音频解码的示例

    2. **音频解码**:在JavaScript中,Web Audio API提供了解码音频文件的功能。通过AudioContext的decodeAudioData()方法,我们可以将音频文件(如.mp3或.wav)的二进制数据解码为AudioBuffer对象。这个Buffer对象可以...

    JS播放声音 兼容所有浏览器

    在JavaScript(JS)中播放声音是一项常见的需求,特别是在网页交互、游戏开发或者用户通知场景下。要实现JS播放声音并且兼容所有主流浏览器,我们需要了解一些关键的技术和策略。以下是一些核心知识点: 1. **Audio...

    JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】.docx

    在实际开发中,我们可以使用 FileSaver.js 插件来实现各种文件保存的需求,例如保存文本文件、图像文件、音频文件等。该插件提供了非常灵活和方便的方式来实现文件保存,且可以满足各种开发需求。 因此,使用 ...

Global site tag (gtag.js) - Google Analytics