插入音频和视频
在 Microsoft Expression Blend 中,可以向项目添加诸如音频和视频之类的媒体文件。
有关如何将媒体文件添加到项目的说明,请参阅在活动文档中插入图像文件和在活动文档中插入音频或视频文件。
音频
Expression Blend 可支持 AIF、AIFC、AIFF、ASF、AU、MID、MIDI、MP2、MP3、MPA、MPE、RMI、SND、WAV、WMA 和 WMD 等音频文件类型。这些文件类型都是 Windows Media Player 10 支持的文件格式。
说明: |
---|
Microsoft Silverlight 只支持 MP3 和 WMA 文件类型。 |
当您将音频文件添加到项目之后,可以在“项目”面板中双击该音频文件名,或者将现有“MediaElement”控件的“Source”属性设置为该音频文件名,从而将该音频文件添加到美工板上。
说明: |
---|
在 Expression Blend 中不能通过反转包含音频时间线的情节提要来反转音频剪辑。 |
视频
Expression Blend 可支持 ASF、AVI、DVR-MS、IFO、M1V、MPEG、MPG、VOB、WM 和 WMV 等视频文件类型。这些文件类型都是 Windows Media Player 10 支持的文件格式。
说明: |
---|
Silverlight 只支持 WMV 文件类型。 |
您无法将其他视频文件类型插入文档中,不过可以使用“MediaElement”控件将它们添加到项目中。可以从“资产”面板 向文档中添加“MediaElement”控件,然后修改其“Source”属性,使其指向 Expression Blend 不可识别的媒体文件类型,从而确保在运行时能够在应用程序中播放该视频。
说明: |
---|
在 Expression Blend 中不能通过反转包含视频时间线的情节提要来反转视频剪辑。 |
说明: |
---|
若要在 Expression Blend 中使用媒体,则必须在计算机上安装 Windows Media Player 10。可以从 Windows Media 网站(此链接可能指向英文页面)下载 Windows Media Player 10。 |
WPF 项目中的音频和视频
在文档中插入音频文件或视频剪辑之后,可以使用在“对象和时间线”面板中为该音频文件或视频剪辑创建的媒体时间线,对播放进行控制。可以使用媒体时间线执行下列操作:
修改在“对象和时间线”面板中选定的媒体元素的属性。可以在“属性”面板的“媒体”类别中更改音量、平衡和速度等属性。
通过选择“工具”面板中的“选择”工具 ,然后拖动灰色时间条,可以手动移动时间线。也可以右键单击灰色时间条以选择循环播放选项。
有关详细信息,请参阅设置循环周期中列出的主题。
复制并粘贴“对象和时间线”面板中的媒体元素,然后移动各个时间条,以便安排在不同时间发出声音。
配置诸如按钮等控件,以开始和停止媒体时间线。
有关示例,请参阅在时间线中使用触发器控制媒体。
在代码隐藏文件中按照更改动画时间线的方式更改媒体时间线。有关信息,请参阅 MSDN 上的演示图板概述 主题。下列代码示例是一个非常简单的 C# 示例,显示了启动情节提要所需的最基本的代码行:
using System.Windows.Media; using System.Windows.Media.Animation; // In a method... Storyboard audioResourceWav; audioResourceWav = (Storyboard)this.Resources["AudioResource_wav"]; audioResourceWav.Begin(this);
将媒体与其他时间线同步
如果情节提要同时包含媒体(音频或视频)时间线和动画时间线,并且媒体时间线由于加载时间而延迟,则动画时间线可能会在媒体时间线之前开始运行。可以使用 XAML SlipBehavior 属性来同时开始运行所有时间线。
有关如何同步时间线的说明,请参阅同步动画时间线和媒体时间线的起始时间。
Silverlight 项目中的音频和视频
在文档中插入音频文件或视频剪辑之后,您可以使用在“对象和时间线”面板中针对此类媒体所创建的 Silverlight MediaElement 对象的属性和事件来控件其运行时行为(如播放、下载进度和缓冲进度)。
有关详细信息,请参阅 MSDN 上的 MediaElement States (Silverlight)(MediaElement 状态 (Silverlight))。
或者,您还可以使用 Microsoft Expression Encoder 通过 Silverlight 模板来创建功能齐全的媒体播放器以显示媒体。
有关详细信息,请参阅自定义用于 Silverlight 的 Expression Encoder 模板。