使用flash.system.Capabilities的hasEmbeddedVideo, hasStreamingVideo和hasVideoEncoder属性确定正在运行flashplayer的设备的视频性能。
在你尝试传送视频给用户前,很重要的是检测他的系统是否能够播放视频,应该如何传递。以流媒体嵌入播放器来传递flash视频率是最有效的方法。这样用户可以一边观看一边载入,而不是等到整个文件下载完毕(常常文件非常大)。然而,用户的系统可能不接受流媒体。为了检测这方面,可用flash.system.Capabilities.hasStreamingVideo 属性。如果放回false,唯一的选择是让播放器载入另一个内置视频的swf文件。然而,在做这些之前,应该检查属性flash.system.Capabilities.hasEbeddedVideo在下载之前确定用户能观看。就像下列代码:
if(flash.system.Capabilities.hasStreamingVideo) {
// Code to set up a video stream and start streaming a
// specific video
}
else if(flash.system.Capabilities.hasEmbeddedVideo) {
// Code to load an external .swf containing an embedded video
}
else {
// Alternate content without any video
}
同样的,如果程序需要视频流编码,你就要确定系统处理编码的能力,就像网站的中央地址存储器用来从用户的系统中传送生活影片。你可以用flash.system.Capabilities.hasVideoEncoder属性测试。如同早期的例子,你或许会在if语句中测试这个属性且仅当测试为true时建立视频流。另外,也可以给用户显示一个信息解释这种情形或直接给他另一个页面。
使用 flash.system.Capabilities 中的hasAudio和hasMP3属性确定正在运行flashplayer设备的音频性能。
如果用户的系统具有音频的性能flash.system.Capabilities.hasAudio属性返回true,否者返回false。为了在多种设备上播放影片这一点极其重要。如果设备不支持音频,就要强制避免用户下载他们不能听的东西(特别因为音频是非常大的)。
// Load a .swf containing sound only if the Player can play audio
if (flash.system.Capabilities.hasAudio) {
content = "sound.swf";
} else {
content = "silent.swf";
}
// code to load the .swf referenced in content
然而,仅因为系统具有音频性能,也不必然意味着能够播放MP3音乐。因此,如果要发布MP3内容,应该用flash.system.Capabilities.hasMP3属性测试MP3性能。如果支持,MP3声音更合适,因为它们比ADCP声音有更高的性能比。
// If the Player can play MP3s, load an MP3 using a Sound object.
// Otherwise, load a .swf containing ADCP sound into a nested
// sprite.
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
}
重要的是理解hasAudio和hasMP3的属性设置是根据播放器的性能而不是正在运行播放器的系统的性能。桌面系统的播放器(windows,Mac OS和linux)无论系统是否真正有播放声音的硬件(也就是声卡和扬声器)那两个属性总是返回true。然而,如果设备不支持音频或MP3特征,其它设备的播放器可能返回false。
在你尝试传送视频给用户前,很重要的是检测他的系统是否能够播放视频,应该如何传递。以流媒体嵌入播放器来传递flash视频率是最有效的方法。这样用户可以一边观看一边载入,而不是等到整个文件下载完毕(常常文件非常大)。然而,用户的系统可能不接受流媒体。为了检测这方面,可用flash.system.Capabilities.hasStreamingVideo 属性。如果放回false,唯一的选择是让播放器载入另一个内置视频的swf文件。然而,在做这些之前,应该检查属性flash.system.Capabilities.hasEbeddedVideo在下载之前确定用户能观看。就像下列代码:
if(flash.system.Capabilities.hasStreamingVideo) {
// Code to set up a video stream and start streaming a
// specific video
}
else if(flash.system.Capabilities.hasEmbeddedVideo) {
// Code to load an external .swf containing an embedded video
}
else {
// Alternate content without any video
}
同样的,如果程序需要视频流编码,你就要确定系统处理编码的能力,就像网站的中央地址存储器用来从用户的系统中传送生活影片。你可以用flash.system.Capabilities.hasVideoEncoder属性测试。如同早期的例子,你或许会在if语句中测试这个属性且仅当测试为true时建立视频流。另外,也可以给用户显示一个信息解释这种情形或直接给他另一个页面。
使用 flash.system.Capabilities 中的hasAudio和hasMP3属性确定正在运行flashplayer设备的音频性能。
如果用户的系统具有音频的性能flash.system.Capabilities.hasAudio属性返回true,否者返回false。为了在多种设备上播放影片这一点极其重要。如果设备不支持音频,就要强制避免用户下载他们不能听的东西(特别因为音频是非常大的)。
// Load a .swf containing sound only if the Player can play audio
if (flash.system.Capabilities.hasAudio) {
content = "sound.swf";
} else {
content = "silent.swf";
}
// code to load the .swf referenced in content
然而,仅因为系统具有音频性能,也不必然意味着能够播放MP3音乐。因此,如果要发布MP3内容,应该用flash.system.Capabilities.hasMP3属性测试MP3性能。如果支持,MP3声音更合适,因为它们比ADCP声音有更高的性能比。
// If the Player can play MP3s, load an MP3 using a Sound object.
// Otherwise, load a .swf containing ADCP sound into a nested
// sprite.
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
}
重要的是理解hasAudio和hasMP3的属性设置是根据播放器的性能而不是正在运行播放器的系统的性能。桌面系统的播放器(windows,Mac OS和linux)无论系统是否真正有播放声音的硬件(也就是声卡和扬声器)那两个属性总是返回true。然而,如果设备不支持音频或MP3特征,其它设备的播放器可能返回false。