您的位置:首页 > 其它

Silverlight入门学习(30)

2010-04-19 10:37 411 查看
原文地址: http://www.dingos.cn/index.php?topic=2000.0

第三十章

如何在

Silverlight

播放音频或声音文件?

Silverlight
提供了一个名为
MediaElement
的类用来播放音
频或视频文件。

Silverlight
中的
MediaElement
支持播放
MP3

WMV

式的视频
/
音频文件。现在
Silverlight
当前版本不支持播

.WAV

.AVI
格式的文件。

如果尝试使用
MediaElement
控件播放
.WAV

.AVI
文件,将收到以下错误:

Error: Unhandled Error
in Silverlight 2 Application
<Application Name>Code:
3001

Category: MediaError

Message:
AG_E_INVALID_FILE_FORMAT

为了播放
.MP3

.WMV
文件,首先比较将这些文件包含在
Silverlight
项目中,然后设
置它作为嵌入资源。

为了使视频文件作为嵌入资源,将视频文件添加到项目中,右键项目中的视频文件并选择“属性”页。
设置“生成操作”为“嵌入的资源”。这样编译时视频文件会嵌入到
.xap
文件中。

将视频文件作为嵌入资源后,可以在
XAML
中定义
MediaElement
对象编写代码来播放文件。下面示例代码演示播放视频文件:

MediaElement
media =
new
MediaElement
();

Stream
stream =
Assembly
.GetExecutingAssembly().GetManifestResourceStream(

"MyNamespace.Sound1.wav"
);

media.SetSource(stream);

media.AutoPlay
= false
;

media.Stop();

media.Play();

代码分析:

Stream
stream =
Assembly
.GetExecutingAssembly().GetManifestResourceStream(

"MyNamespace.Sound1.wav"
);

上面的代码行从可执行程序集捕获视频流。记住这个视频文件时通过设置“生成操作”为“嵌入的资
源”嵌入在程序集中的。

在上面代码中,“
MyNamespace
”表示应用程序的
命名空间。“
Sound1.wav
”是视频的文明名,假设这个文件在应用程序的根目录。如果文件在子目录,也需要包括目录名,用“
.

号隔开。

media.SetSource(stream);

上面的代码行,设置了播放媒体的源。

media.AutoPlay
= false
;

上面的代码行,表示播放器不能自动播放媒体,只有点击了开始才会播放。

media.Stop();

media.Play();

上面的
diamond
行,可以看到在
.Play()
之前做了
.Stop()
。这个停止仅在你多次播放相同的
MediaElement
时才需要。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: