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

关于html5 audio标签占线程的问题
小弟最近有个项目需要在安卓平板上的app中通过webview嵌入html页面,
页面中使用audio标签作为音频播放器,
html代码如下:

<div id="audioBox"></div>

js代码如下:

function _play(type){ 
  switch(type){
case 'btn1':var src='sound1';break;
case 'btn2':var src='sound2';break;
case 'btn3':var src='sound1';break;
case 'btn4':var src='sound5';break;
case 'btn5':var src='sound6';break;
case 'btn6':var src='sound2';break;
case 'btn7':var src='sound1';break;
case 'btn8':var src='sound2';break;
 }
if(src){
var _srcMP3 = 'mp3/'+src+'.mp3';
var audio = document.createElement("audio");
    audio.className='btn_touch';
    audio.src = _srcMP3;
document.getElementById('audioBox').appendChild(audio);
alert(_srcMP3);
    audio.play();
}
}

在点击按钮时调用_play(type),正确性请不要质疑,测试没问题,音频文件也相当短。
但是播放完后所占线程并未清除,从dom中移除该标签问题依然存在,求大神指导!!!

------解决方案--------------------
用壳来管理播放音乐
js来控制

js调用壳的注册代码 来调用壳的底层方法 播放/关闭 音乐