播放嵌入资源的声音文件
2009-11-04 16:04
281 查看
摘要:本文阐述了在Windows Mobile中如何播放潜入资源的声音文件
%QV/j |(q7j'ry7M0
KeywordsITPUB个人空间 xh3KhBO? Ar
PlaySound, Windows Mobile, Embedded Resources, p/invoke
要在Windows Mobile上播放嵌入资源(Embedded Resource)的声音文件,该怎么办呢?显然是要用到反射的,我查了一下MSDN,还好GetManifestResourceStream对移动设备是可用的。
首先我们需要一个类,通过P/invoke来帮助我们实现播放声音的功能:
调用的时候,我们先要将该声音资源从程序集加载到内存中:
Tips
这里的资源名字,一定不要弄错,如果你不确信的话,可以通过GetManifestResourceNames方法来查看资源的名称。
然后,我们就可以调用PlaySound方法来播放了:
S$~:xc#M"yV:C;KDi0
注意这里的SoundFlag要记得把Memory加上,表示第一个参数是指向内存中的声音文件镜像。播放的时候从内存中加载资源。
不过有一点要注意的,嵌入的声音文件不宜太多,否则会让程序集变得很庞大。
代码
在这里下载
%QV/j |(q7j'ry7M0
KeywordsITPUB个人空间 xh3KhBO? Ar
PlaySound, Windows Mobile, Embedded Resources, p/invoke
要在Windows Mobile上播放嵌入资源(Embedded Resource)的声音文件,该怎么办呢?显然是要用到反射的,我查了一下MSDN,还好GetManifestResourceStream对移动设备是可用的。
首先我们需要一个类,通过P/invoke来帮助我们实现播放声音的功能:
[Flags] s+d ql/Qm'p0 enum SoundFlagsITPUB个人空间bO&F bbQ ITPUB个人空间�}ogN8j5@J]r6`dW class PlayNativeRef Qb"OG5^5O9q1fV y!]0
调用的时候,我们先要将该声音资源从程序集加载到内存中:
MemoryStream ms = (MemoryStream) Assembly.GetExecutingAssembly().GetManifestResourceStream( " PlayEmbeddedAudio.Resources.yuyinlangdu.wav " );ITPUB个人空间7HZ?6]*K]!D8Z
Tips
这里的资源名字,一定不要弄错,如果你不确信的话,可以通过GetManifestResourceNames方法来查看资源的名称。
然后,我们就可以调用PlaySound方法来播放了:
PlayNativeRef.PlaySound(ITPUB个人空间4fQ3Bdx6b ms.GetBuffer(), 'P&z b,Nu:d&D0 IntPtr.Zero, ;BRrC$M N0 SoundFlags.Synchronous | SoundFlags.Memory); *GZ-_m3sj"HC9m"r0
S$~:xc#M"yV:C;KDi0
注意这里的SoundFlag要记得把Memory加上,表示第一个参数是指向内存中的声音文件镜像。播放的时候从内存中加载资源。
不过有一点要注意的,嵌入的声音文件不宜太多,否则会让程序集变得很庞大。
代码
在这里下载
相关文章推荐
- 播放嵌入资源的声音文件
- [CF.Skills]播放嵌入资源的声音文件
- C#2005 在窗体中播放嵌入资源的声音
- 在应用程序中播放声音资源文件
- ASP.NET中将声音文件添加到资源中并进行播放的方法
- 在应用程序中播放声音资源文件
- C#播放资源文件中的声音
- (翻译)在Win Forms程序中嵌入和播放声音资源
- 在应用程序中播放声音资源文件
- vc在应用程序中播放声音资源文件
- Android利用Mediapalyer播放本地资源文件声音
- 黄聪:C# MP3操作类,能播放指定的mp3文件,或播放嵌入的资源中的Mp3文件
- ASP.NET中将声音文件添加到资源中并进行播放的方法
- VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音
- 将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)
- audio 元素能够播放声音文件或者音频流-html5播放音频
- VB中播放声音文件
- 将manifest文件嵌入到资源文件中
- PowerPoint中如何嵌入声音文件免费ppt模板
- 微信6.0android客户端用到的资源文件 包括声音 图片