控制 Silverlight 项目中的媒体播放

此页仅适用于 Silverlight 1 项目

将媒体文件(音频或视频)添加到 Microsoft Silverlight 1.0 项目中并插入到美工板后,该文件将被添加到“MediaElement”对象中并被设置为自动播放。与将音频或视频文件插入到 Windows Presentation Foundation 项目中不同,这会在 Storyboard 中创建时间线。在 Microsoft Silverlight 1.0 项目中,不能按照控制动画 Storyboard 的方法来控制视频或音频文件的播放。

Cc374987.alert_note(zh-cn,Expression.10).gif说明:

您可以使用 Microsoft Expression Encoder 2 创建一个媒体播放器,并使用多种 Silverlight 1.0 模板之一来设置其外观。媒体播放器已包括播放、暂停和其他控制按钮。您可以修改 Expression Encoder 2 随附的 Silverlight 1.0 模板的副本,也可以在 Expression Blend 2 中打开已编码项目以添加更多的可视元素和功能。

按照以下过程进行操作,即可在 Expression Blend 2 中控制 Silverlight 1.0 项目中的媒体文件的播放。有关控制 Silverlight 1.0 项目中的媒体的详细信息,请参阅 Silverlight 快速入门(此链接可能指向英文页面)。

控制 Silverlight 1.0 项目中的媒体文件的播放

  1. 向项目中添加媒体文件。您可以使用向 Silverlight 1.0 项目中添加媒体文件中介绍的过程。

  2. 对媒体对象进行重命名,以便从代码隐藏文件进行引用。例如,右键单击“对象和时间线”下的媒体对象,选择“重命名”,然后键入“MyVideo”。

  3. 如果要向用户提供一个对象,以便用户可以通过单击它来停止和启动媒体文件,可立即将相应的对象添加到美工板上并重新命名。例如,将一个椭圆添加到美工板上并将其重命名为“Pause”。有关详细信息,请参阅向 Silverlight 项目的 XAML 文档中添加元素重命名对象

  4. 在“项目”面板中的“文件”下,双击 XAML 文档所对应的代码隐藏文件。例如,如果正在编辑的 XAML 文档名为“Page.xaml”,请双击“Page.xaml.js”文件。所对应的代码隐藏文件将在 Expression Blend 2 内部的 JavaScript 编辑器中打开。

  5. 代码隐藏文件中已存在一个与事件处理程序挂钩的代码行示例,类似于下面的形式:

    rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
    

    在该代码行的下面添加以下行:

    this.control.content.findName("Pause").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleClickPause));
    

    此代码会添加一个名为 handleClickPause 的事件处理程序方法,当单击名为“Pause”的对象时,该方法将响应 MouseLeftButtonDown 事件。

  6. 代码隐藏文件已包含一个名为 handleMouseDown 的示例事件处理程序方法。请注意,在 handleLoad 方法的末尾,最后一个大括号 (}) 的后面有一个逗号 (,),而 handleMouseDown 方法的最后一个大括号后没有逗号。这是因为 handleMouseDown 是声明的最后一个方法。添加新的方法时,请确保每个方法(最后一个方法除外)的最后一个大括号的后面都有一个逗号。

  7. 最好是在 handleMouseDown 事件之前添加下面的事件处理程序方法:

    handleClickPause: function(sender, eventArgs) 
    {
        sender.findName("MyVideo").pause();
    },
    

    此方法将在“Pause”对象内部响应用户的鼠标左键单击事件,并暂停媒体播放。

  8. 按 F5 以测试 Silverlight 1.0 应用程序。单击“Pause”对象以查看媒体是否暂停播放。您可以选择对“Play”和“Stop”按钮重复执行这些步骤。

另请参见

概念

向 Silverlight 1.0 项目中添加媒体文件