小生愛

soundManager属性汇总

实例一

实例二

实例三

实例四

实例五

实例六

实例七

实例八

实例九

实例十

实例十一

实例十二

实例十三 缓冲监听

/** * 小生爱 * soundManager 教程 ** 方法 * createSound 创建一个audio对象 * getSoundById 根据id选择audio对象 例:soundManager.getSoundById(id); * stop 设置position位置为初始位置 * setVolume 设置音量 * mute 静音 * unmute 取消静音 * unload 释放加载的音频 注*[unload与stop区别: unload - 清空已加载的音频 stop - 从头开始播放 并不清空已加载的音频] * load 加载音频 功能同autoLoad=true ** 事件 * onfinish 音乐播放完成触发该事件 * onload 判断声音是否加载 接收一个参数 加载有效音频时 该参数为true 加载无效音频时 该参数为flase 注*[播放同一首歌曲 即使重新播放onload也只执行一次] * whileloading 播放时 不断触发该事件 * onPosition 监听时间 到了指定时间以后自动触发该事件 只有multiShot=false时才会重复调用 否则只调用一次 position 触发该事件时经过了多少毫秒 * clearOnPosition 清除onPosition监听 * onstop 重载音频时既调用stop方法时触发该事件 注*[调用play以后才会触发该事件] * whileplaying 播放过程中不断触发该事件 audio.options.whileplaying * onplay 监听开始播放 * onbufferchange 监听缓冲 isBuffering 缓冲状态 true - 开始缓冲 false - 缓冲结束 ** 属性 * id 设置创建的audio对象的唯一标识 可以根据该标识进行播放 soundManager.play(id); * volume 设置音量 * bytesLoaded 加载的字节数 * bytesTotal 总字节数 * multiShot false播放单次audio true播放多次audio * form to 从哪播放到哪 * autoLoad true自动加载音频 false不自动加载音频 类似preload属性 * duration 获取歌曲总时间 * loaded 判断audio是否加载 * autoPlay 自动播放 true | false */ // SM 实例一 简单的进度条_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n2.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听音乐是否播放完成 onfinish : function (){ ll('音乐播放完成'); } }); audio.play({ // 设置音量 volume : 50 }) }; // SM 实例二 简单的进度条_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听音乐是否播放完成 onfinish : function (){ ll('音乐播放完成'); }, // 监听是否加载成功 onload : function (){ ll('加载成功'); this.play(); }, // 播放时 不断轮询该事件 whileloading : function (){ // audio对象的id ll(this.id); // 已加载字节数 ll(this.bytesLoaded + 'b'); // 总字节数 ll(this.bytesTotal + 'c'); } }).load(); } // SM 实例三 multiShot属性_________________________________________________________________________ // 单次audio播放 // 多次点击只播放一次 类似jquery的stop方法 window.onload = function (){ document.body.onclick = function (){ soundManager.play('http://182.92.158.39/data/audio/n2.mp3', { // 单次播放 multiShot: false }); } } // SM 实例四 在一个播放audio内创建新的audio_________________________________________________________________________ window.onload = function (){ var url = 'http://www.schillmania.com/projects/soundmanager2/demo/mpc/audio/SPLASH_1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听音乐是否播放完成 // 一首audio播放完成 新创建一个audio onfinish : function (){ var newAudio = soundManager.createSound({ id : 'audio', url : 'http://182.92.158.39/data/audio/n1.mp3' }); // 添加multiShot属性 监听只播放一次 newAudio.play({multiShot: false}); } }); // 单次audio播放 // 多次点击只播放一次 类似jquery的stop方法 document.body.onclick = function (){ soundManager.play('myAuido', { // 单次播放 multiShot: false }); } } // SM 实例五 循环播放_________________________________________________________________________ window.onload = function (){ var url = 'http://www.schillmania.com/projects/soundmanager2/demo/mpc/audio/SPLASH_1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听音乐是否播放完成 onfinish : function (){ // 播放完成后重新调用播放事件 loopSound(this); } }); // 循环播放方法 function loopSound(sound){ sound.play(); } loopSound(audio); } // SM 实例六 clearOnPosition方法_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n2.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, }); // 获取audio对象 var audio2 = soundManager.getSoundById('myAuido'); // 绑定onPosition事件 audio2.onPosition(2000, function (){ ll(this.position+'a'); }); // 绑定onPosition事件 audio2.onPosition(5000, function (){ ll(this.position+'b'); }); document.body.onclick = function (){ // 清除2000的监听事件 audio2.clearOnPosition(2000); audio2.play({ // 单次播放 multiShot : false }); }; }; // SM 实例七 from to属性_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n2.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 暂停时触发该事件 onstop : function (){ // 触发该事件时经过了多少毫秒 ll(this.position); } }); // 获取audio对象 var audio2 = soundManager.getSoundById('myAuido'); // from 从1500毫秒开始播放 // to 播放到2200毫秒停止 audio2.play({ from: 1500, to: 2200 }); }; // SM 实例八 静音 非静音_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 加载音频 // 不调用play方法时 音频会自动加载 // 调用play方法时 该属性可以木有 autoLoad : true }); audio.play(); var i=0; document.body.onclick = function (){ if(i){ // 取消静音 audio.unmute(); i--; }else{ // 静音 audio.mute(); i++; } }; }; // SM 实例九 释放已加载的音频_________________________________________________________________________ (看事例图片) // SM 实例十 监听加载的音频是否正确_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, onload : function (data){ // 加载一个无效的音频 data值为false // 加载一个有效的音频 data值为true ll(data); } }); // load 加载音频 // 功能同autoLoad = true audio.load(); }; // SM 实例十一 监听播放事件 whileplaying_________________________________________________________________________ window.onload = function (){ var url = 'http://182.92.158.39/data/audio/n1.mp3'; // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, whileloading : function (data){ // position 当前经过的时间 // duration audio总时间 ll(data + '-' + this.position + '-' + this.duration); }, }); // whileplaying 监听播放 播放过程中不断触发 // 必须用audio.options监听 audio.options.whileplaying = function (){ // 当前经过的时间 // duration audio总时间 ll(this.position + '/' + this.duration); }; audio.options.onfinish = function (){ ll('播放完成-1'); }; audio.play(); }; // SM 实例十二 autoPlay与onplay_________________________________________________________________________ var url = 'http://182.92.158.39/data/audio/n1.mp3'; window.onload = function (){ // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听开始播放 onplay : function (){ ll('开始播放'); }, // 自动播放 autoPlay : true }); }; // SM 实例十三 onbufferchange缓冲_________________________________________________________________________ var url = 'http://182.92.158.39/data/audio/n1.mp3'; window.onload = function (){ // 创建audio对象 var audio = soundManager.createSound({ // 定义id // 可以根据id进行播放 soundManager.play(id) id : 'myAuido', url : url, // 监听缓冲 // 缓冲时并未加载 onbufferchange : function (){ // isBuffering // true 开始缓冲 // false 缓冲结束 var name = this.isBuffering ? '- 开始缓冲' : '- 缓冲结束'; ll(name); }, onload : function (){ ll('已加载!'); } }); audio.play(); };