信息
您所需的主题如下所示。但此主题未包含在此库中。

快速入门:Windows Phone 8 的音频和视频

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

Windows Phone 包括对播放音频和视频文件的支持。本“快速入门”描述了将媒体集成到您的应用的方式。

本主题包括以下部分。

向 Windows Phone 应用添加媒体的操作十分简单,只需将 MediaElement 添加到标记并为要播放的媒体提供统一资源标识符 (URI)。请确保媒体文件的扩展名与文件的格式相匹配;否则不会播放媒体。

说明注意:

当您采用 XAML 添加 MediaElement 时,请始终命名 MediaElement。否则,在向 Windows Phone 应用商店 提交的过程中将不会授予媒体库安全功能。有关更多信息,请参见 Windows Phone 8 的安全性

下面的示例创建一个 MediaElement 并将其 Source 属性设置为某视频文件的 URI。MediaElement 对象可以播放 Windows Media 视频 (WMV)、Windows Media 音频 (WMA) 和 MP3 文件。有关支持的格式和协议的详细列表,请参见支持的 Windows Phone 8 媒体编解码器

<MediaElement Name="media" Source="MyMovie.wmv" />

要向您的应用添加视频文件,请在 Visual Studio 中执行以下操作:

  1. “项目”菜单上选择“添加现有项”

  2. 选择所需的视频文件,然后单击“添加”

  3. 解决方案资源管理器中,选择已添加的图像文件。

  4. “属性”窗口中,将“生成操作”属性更改为“资源”

说明注意:

如果您将视频文件添加到 Visual Studio 项目,请确保将视频项目的属性设置为“资源”。加载该页时,MediaElement 开始播放。

MediaElement 对象提供几个媒体特定的属性。下面的列表描述了常用的属性。

  • AutoPlay:指定 MediaElement 是否应自动开始播放。默认值为 True

  • IsMuted:指定 MediaElement 是否静音。True 值将使 MediaElement 静音。默认值为 false

  • Stretch:指定如何拉伸视频以填充 MediaElement 对象。可能的值有 NoneUniformUniformToFillFill。默认值为 Fill。下图演示 Stretch 值的示例。

    Media - Stretch Enum
  • Volume:指定介于 0 到 1 的 MediaElement 对象的音频音量值,1 表示最大音量。默认值为 0.5。

除了媒体特定的属性之外,MediaElement 还具有 UIElement 的所有属性(如 OpacityClip)。

可以使用 MediaElement 对象的 PlayPauseStop 方法来控制媒体播放。当 MediaElement 对象正在播放时,Windows Phone 设备上的所有其他媒体播放将停止。

以下示例定义了 MediaElement 对象和用于停止、暂停和启动媒体播放的按钮。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <MediaElement x:Name="media" Source="MyMovie.wmv" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" />
    <!-- Stops media playback.-->
    <Button Click="StopMedia" Grid.Column="0" Grid.Row="1" Content="Stop" />
    <!-- Pauses media playback. -->
    <Button Click="PauseMedia" Grid.Column="1" Grid.Row="1" Content="Pause" />
    <!-- Begins media playback. -->
    <Button Click="PlayMedia" Grid.Column="2" Grid.Row="1" Content="Play" />
</Grid> 

private void StopMedia(object sender, RoutedEventArgs e)
{
    media.Stop();
}
private void PauseMedia(object sender, RoutedEventArgs e) 
{
    media.Pause();
}
private void PlayMedia(object sender, RoutedEventArgs e) 
{
    media.Play();
} 

说明注意:

除了停止、暂停或播放媒体之外,还可以通过设置 MediaElement 对象的 Position 属性查找特定位置。

显示: