自定义 FLVPlaybackCaptioning 组件

若要迅速开始使用 FLVPlaybackCaptioning 组件,可以选择使用将字幕直接放到 FLVPlayback 组件上的 FLVPlaybackCaptioning 默认值。您可能希望自定义 FLVPlaybackCaptioning 组件以将字幕从视频中移出。

以下代码演示如何通过切换字幕按钮动态创建 FLVPlayback 对象:

  1. 在舞台的 (0,0) 坐标上放置 FLVPlayback 组件,并提供实例名称 player

  2. 在舞台的 (0,0) 坐标上放置 FLVPlaybackCaptioning 组件,并提供实例名称 captioning

  3. 将 CaptionButton 组件放在舞台上。

  4. 在下面的代码示例中,将 testVideoPath:String 变量设置为 FLV 文件(使用绝对或相对路径)。

    注: 该代码示例将 testVideoPath 变量设置为 Flash 视频范例 caption_video.flv 。将此变量更改为字幕视频组件(您将向其添加字幕 Button 组件)的路径。
  5. 在下面的代码示例中,将 testCaptioningPath:String 变量设置为适当的 Timed Text XML 文件(使用绝对或相对路径)。

    注: 该代码示例将 testCaptioningPath 变量设置为 Timed Text XML 文件 caption_video.xml 。将此变量更改为包含视频字幕的 Timed Text XML 文件的路径。
  6. 将下面的代码保存在与 FLA 文件相同的目录中,命名为 FLVPlaybackCaptioningExample.as。

  7. 将 FLA 文件中的 DocumentClass 设置为 FLVPlaybackCaptioningExample。

    package 
    { 
        import flash.display.Sprite; 
        import flash.text.TextField; 
        import fl.video.FLVPlayback; 
        import fl.video.FLVPlaybackCaptioning; 
         
        public class FLVPlaybackCaptioningExample extends Sprite { 
     
            private var testVideoPath:String = "http://www.helpexamples.com/flash/video/caption_video.flv"; 
            private var testCaptioningPath:String = "http://www.helpexamples.com/flash/video/caption_video.xml"; 
             
            public function FLVPlaybackCaptioningExample() { 
                player.source = testVideoPath; 
                player.skin = "SkinOverAllNoCaption.swf"; 
                player.skinBackgroundColor = 0x666666; 
                player.skinBackgroundAlpha = 0.5; 
     
                captioning.flvPlayback = player; 
                captioning.source = testCaptioningPath; 
                captioning.autoLayout = false;  
                captioning.addEventListener("captionChange",onCaptionChange); 
            } 
            private function onCaptionChange(e:*):void { 
                var tf:* = e.target.captionTarget; 
                var player:FLVPlayback = e.target.flvPlayback; 
     
                // move the caption below the video 
                tf.y = 210;  
            } 
        } 
    }

    有关所有 FLVPlaybackCaptioning 参数的详细信息,请参阅《ActionScript® 3.0 Reference for Adobe® Flash® Professional CS5》。