日期:2014-05-16  浏览次数:20404 次

html5播放音频如何在纯js中播放?
可能这个问题很简单,只是我一时没转过弯,
下面这个代码,是在html文件的标签中播放音频的方法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 <BODY>
  <audio controls="controls" autoplay="autoplay">
  <source src="E:\01.mp3" type="audio/mpeg">
  Your browser does not support the audio tag.
  </audio>  
 </BODY>
</HTML>

现在,我想在test.js文件中播放这个音频,要怎么写呢?

  <script>
   function play(url){//url为mp3文件路径
   //这里要怎么写呢?才能让我调用这个函数时,立即播放MP3?
}
  </script>

------最佳解决方案--------------------
document.createElement('audio')
------其他解决方案--------------------
mp3好像只有chrome能播放,IE9+不知道行不,没安装
 <script type="text/javascript">
     function play(url) {
         var a = document.getElementById('audio');
         a.src = url;
         a.play();
     }
 </script>
 <input type="button" value="Play" onclick="play('http://www.coding123.net/eg/showbo/music/暗夜精灵.MP3')" />
  <audio controls="controls" autoplay="autoplay" id="audio">
  Your browser does not support the audio tag.
  </audio>

audio事件
------其他解决方案--------------------
没人回答?看来这个问题真有点难度?还是高人都吃饭去了呢?
坐等大虾来解决。。。。。
这个功能其实很有用啊,虽然说要在支持html5的浏览器下运行,但实现的话,以后,做声音方面的应用,就不要用那些第三方的声音插件啦
------其他解决方案--------------------
引用:
document.createElement('audio')

用这种方法,创建完标签,貌似播放不了,我再研究看下。
------其他解决方案--------------------
能  
至少 webkit 浏览器 可以
------其他解决方案--------------------
解决了,感谢楼上两位大侠相助,最终代码如下:

<!DOCTYPE html>
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 </HEAD>

 <BODY>
 <!--
  <audio controls="controls" autoplay="autoplay">
  <source src="E:\01.mp3" type="audio/mpeg">
  Your browser does not support the audio tag.
  </audio>  
  -->
  <script>
function play(url){
alert(url);
    var audio = document.createElement('audio');
var source = document.createElement('source');
source.type = "audio/mpeg";
source.type = "audio/mpeg";