SoundManager是 一個JavaScript庫,通過它開發者可以控制Web上音頻和視頻的播放,它包裝了Flash sound API,通過JavaScript和ActionScript和通信,來實現了多媒體的互動,所以瀏覽器需要啟用相關版本以上的Flash Player插件(當然這不是問題)。這里介紹一下它的用法:
首先需要在HTML頁面中包含js庫
<script type="text/javascript" src="soundmanager2.js"></script>
初始化正常后播放一段聲音
soundManager.url='swf';
soundManager.onload=function(){
soundManager.play('sound_id', 'assets/sample.mp3');
}
判斷初始化是否正常
soundManager.onready(function(status){
if(status.success){
soundManager.play('sound_id', 'assets/sample.mp3');
}else{
alert("soundManager出現異常");
}
});
創建一個聲音對象
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3',
autoPlay:false //same as default
});
sound.play();
}
通過ID播放聲音
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3'
});
soundManager.play('sound_id');
}
設置播放屬性
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3',
autoLoad:true
});
sound.play({
duration:1000,
volume:80,
span:50,
onfinish:function(){
this.play();
}
});
}
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3'
});
sound.setPosition(1000);
sound.setVolume(80);
sound.play({pan:-50});
}
控制暫停,播放,靜音,取消靜音
sound.play();//播放
sound.pause();//暫停
sound.togglePause();//切換
sound.mute();//靜音
sound.unmute();//取消靜音
sound.toggleMute();//切換
監聽聲音加載
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/bad_path.mp3',
onload:function(success){
soundManager._writeDebug('sound '+ (success?'loaded':'did not load.');
}
});
}
監聽播放結束
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3',
onfinish:function(){
this.destruct();
}
});
}
監聽其他事件
soundManager.onload=function(){
var sound=soundManager.createSound({
id: 'sound_id',
url: 'assets/sample.mp3',
onbeforefinishtime:1000,
stream:true,
whileloading:function(){},
onload:function(){},
onfinish:function(){},
onplay:function(){},
onstop:function(){},
onpause:function(){},
onresume:function(){},
whileplaying:function(){},
onbeforefinish:function(){},
onbeforefinishcomplete:function(){},
onjustbeforefinish:function(){},
onjustbeforefinishcomplete:function(){}
});
}
獲得sound相關屬性
sound.bytesLoaded
sound.bytesTotal
sound.position
sound.duration
sound.id3
soundManager的配置屬性
oundManager.allowPolling = true;
// 啟用狀態更新,如果需要監聽whileloading/whileplaying則必須啟用它
soundManager.consoleOnly = false;
// 如果啟用了, 則調試到id為soundmanager-debug的DIV
soundManager.debugMode = true;
//是否啟用調試信息, (輸出到div#soundmanager-debug,或者console)
soundManager.flashLoadTimeout =1000;
// 等待影片加載的毫秒數 (0 = infinity)
soundManager.flashVersion = 8;
// 所需Flash Player的版本
soundManager.nullURL = 'null.mp3';
// (只使用Flash 8): 一個空的輔助MP3文件路徑
soundManager.url = '/path/to/swf/';
// 存放SM2 .SWF文件的文件夾路徑
soundManager.useConsole = true;
// 如果firebug/safari console.log()可用,則使用它
soundManager.useMovieStar = false;
// 使用支持 Flash 9.0r115+ MPEG4音頻和視頻
soundManager.useFastPolling = false;
// 默認是200ms跟新一個播放信息,如果啟用快速跟新,時間間隔將是1ms
soundManager.useHighPerformance = false;
// 使用CSS position:fixed來增強JS/AS的調度
soundManager.waitForWindowLoad = false;
// window.onload()之后才調用oundManager.onload()
soundManager.wmode = 'transparent';
// null, window, transparent, opaque (后兩個可以讓HTML處於flash上層)
soundManager.allowFullScreen = true;
// 是否允許全屏
soundManager部分方法
soundManager.canPlayURL(mediaURL:string):Boolean;
soundManager.createSound(id:string,url:string):SMSound;
soundManager.createSound(options:object):SMSound;
soundManager.createVideo(options:object):SMSound;
soundManager.destroySound(id:string);
soundManager.destroyVideo(id:string);
soundManager.onready(callback:function(status),[scope]);
soundManager.loadFromXML(xmlURL:string);
soundManager.supported():Boolean;
這些方法簡單明了,通過方法名稱都應該可以猜的到作用是什么了。其中,loadFromXML(xmlURL:string)用來播放一個XML文件定義的媒體列表;supported()用來判斷soundManager初始化完成。
為了您的安全,請只打開來源可靠的網址
來自:
http://hi.baidu.com/pc10/blog/item/e9c25b609a0fc2d48cb10dc2.html