HTML5中的audio对象有个属性为 ended,改属性是返回音频是否播放结束,是boolean类型的。
例如我自己写的一个判断:
thisaudioPlay=function(soundPath,callback){
$("#shapeAudio")attr("src",soundPath);
var shapeAudio=documentgetElementById("shapeAudio");
shapeAudioplay();
if(callback != undefined){
var is_playFinish = setInterval(function(){
if(shapeAudioended){
callback();
windowclearInterval(is_playFinish);
}
}, 10);
}
}
改判断为当声音播放完成之后再执行回调函数callback
这个问题,应该不算是问题,而是牢骚吧。
不过我个人觉得,这个不是该软件的问题。
所谓术业有专攻,每个软件在开发时,都有一定的定位和应用领域,都是有针对性的。
明明是即使聊天和通讯工具,不是媒体播放程序,那么不能播放FLAC和MP3,并没有什么问题吧。
当然其官方也可以把这些功能加进去,不过最终的结果就是安装程序就有几百M,臃肿无比,这样的软件,难道你愿意用吗。
参考下面方法
加入stalled事件处理,发生stalled则重新audioload() ; audioplay(); 或者保证audioload()后,在canplaythrogh事件(或者readyState大于2后)进行audioplay()