创建 Video 屏幕

在这一部分中,您将给应用程序添加视频,并且添加让用户使用右软键控制回放(播放、暂停、重放)的 ActionScript 代码。

虽然您也可以从设备的文件系统或网络地址加载外部视频文件,但在本教程中,您将在 SWF 文件库中绑定设备视频文件。

  1. 在 Flash 中,打开您在创建特色餐屏幕中完成的文件。
  2. 如果尚未打开"库"面板,请将它打开("窗口">"库")。
  3. 打开位于"库"面板右上角的"库"选项菜单,选择"新建视频"。

    此时将出现"视频属性"对话框。

  4. 在"元件"文本框中键入视频元件的名称(例如 cafe Video)。
  5. 在"视频属性"对话框中,选择在 SWF 文件中绑定源视频的选项,然后单击"导入"。
  6. 打开位于 www.adobe.com/go/learn_flt_samples_and_tutorials_cn 的名为 cafe_townsend_chef.3gp 的文件。在"示例和教程"页上,找到、下载并解压缩 Flash Lite 版本的 .zip 文件,然后导航到 Tutorial Assets 文件夹即可访问该文件。

    如果您在"打开"对话框中看不到该视频文件(或者可以看到该文件但无法选中),请从"文件类型"弹出菜单中选择"所有文件 (*.*)"(在 Windows 中),或从"启用"弹出菜单中选择"所有文件"(在 Macintosh 中)。由于 Flash 创作工具不识别多数设备视频格式,因此有时必须执行此操作。

    在您单击"确定"之前,将会出现"视频属性"对话框,如下所示。

  7. 单击"确定"关闭"视频属性"对话框。

    您文档的"库"面板中会出现一个与设备视频文件相关联的新视频元件。

    有关在 Flash Lite 中使用设备视频的详细信息,请参阅《开发 Flash Lite 2.x 应用程序》中的"使用设备视频"

  8. 要给舞台添加视频对象,请在时间轴中选择 Video 图层的第 51 帧上的关键帧,如下例所示:

  9. 从"库"面板中,将 cafe Video 对象拖至舞台。
  10. 在属性检查器的"实例名称"文本框中,键入"cafeVideo",然后将该对象的 x 位置设置为 0y 位置设置为 45,将其宽度设置为 176,高度设置为 144

  11. 在时间轴中,选择 ActionScript 图层的第 51 帧上的关键帧。
  12. 打开打开"动作"面板("窗口">"动作"),然后键入(或复制并粘贴)以下代码:
    // 停止时间轴,注册软键,以及开始播放视频。
    stop ();
    fscommand2 ("SetSoftKeys", "Home", "Pause");
    caféVideo.play ();
    var playing:Boolean = true;
    // 软键事件处理函数代码:
    Key.removeListener (myListener);
    var myListener:Object = new Object ();
    myListener.onKeyDown = function () {
        var keyCode = Key.getCode ();
        if (keyCode == ExtendedKey.SOFT1) {
            gotoAndPlay ("home");
        }
        else if (keyCode == ExtendedKey.SOFT2) {
            if (playing) {
                // 如果视频正在播放,则将它暂停,
                // 将状态变量 (playing) 设置为 false,
                // 将右软键标签设置为"Play"。
                caféVideo.pause ();
                playing = false;
                rightSoftKeyLabel.text = "Play";
            }
            else {
                // 如果视频处于暂停状态,则继续播放视频,
                // 将状态变量 (playing) 设置为 true,
                // 将右软键标签设置为"Pause"。
                caféVideo.resume ();
                playing = true;
                righttSoftKeyLabel.text = "Pause";
            }
        }
    };
    // 注册侦听器对象:
    Key.addListener (myListener);
    //
    // 视频状态处理函数代码。 
    //
    caféVideo.onStatus = function (infoObject:Object) {
        var code = infoObject.code;
        if (code == "completed") {
            // 如果视频已经完成了播放,则设置 playing=false,
            // 并将右软键标签设置为"Replay":
            playing = false;
            rightSoftKeyLabel.text = "Replay";
        }
    };
    
  13. 保存您的工作,然后在模拟器中测试应用程序。
  14. 选择应用程序主屏幕上的"View Video"选项以观看视频。

    尝试通过按右软键来暂停视频,然后再次按该键来继续播放。当视频完成时,您可以再次按右软键来再次播放该视频。