2007年1月17日星期三

3.9.检测设备音频


3.9. 检测设备音频

问题
我要确定播放器正在使用的音频设备.
解决办法
使用 flash.system.Capabilities 类的 hasAudiohasMP3 属性
讨论

如果用户系统有播放音频的能力,则 flash.system.Capabilities.hasAudio 属性就返回True 。这实际上很重要,如果目标设备不支持音频,那就要避免强制用户下载音频内容(因此音频内容都比较大)。
// 只有当播放器可以播放声音才再如包含声音的.swf
if (flash.system.Capabilities.hasAudio) {
content = "sound.swf";
} else {
content = "silent.swf";
}

即时系统有播放音频能力也不意味着它有播放mp3的能力。因此当发布含有mp3内容时应用flash.system.Capabilities.hasMP3 属性检测下目标设备。
if (flash.system.Capabilities.hasMP3) {
var url:URLRequest = new URLRequest("sound.mp3");
sound = new Sound(url);
sound.play( );
} else {
// code to load an external .swf containing a ADCP sound
}


没有评论: