[CF.Skills]播放嵌入资源的声音文件

摘要:本文阐述了在Windows Mobile中如何播放潜入资源的声音文件KeywordsPlaySound, Windows Mobile, Embedded Resources, p/invoke

要在Windows Mobile上播放嵌入资源(Embedded Resource)的声音文件,该怎么办呢?显然是要用到反射的,我查了一下MSDN,还好GetManifestResourceStream对移动设备是可用的。

首先我们需要一个类,通过P/invoke来帮助我们实现播放声音的功能:

[Flags]
enumSoundFlags
{
        Alias
=0x00010000,
        Filename
=0x00020000,
        Synchronous
=0x00000000,
        Asynchronous
=0x00000001,
        Memory
=0x00000004,
        Loop
=0x00000008,
        NoStop
=0x00000010    }

classPlayNativeRef
{
        [DllImport(
"CoreDll.DLL", EntryPoint="PlaySound", SetLastError=true)]
publicexternstaticintPlaySound(byte[] szSound, IntPtr hMod, SoundFlags flags);
    }

调用的时候,我们先要将该声音资源从程序集加载到内存中:

MemoryStream ms=(MemoryStream) Assembly.GetExecutingAssembly().GetManifestResourceStream("PlayEmbeddedAudio.Resources.yuyinlangdu.wav");

Tips这里的资源名字,一定不要弄错,如果你不确信的话,可以通过GetManifestResourceNames方法来查看资源的名称。

然后,我们就可以调用PlaySound方法来播放了:

PlayNativeRef.PlaySound(
                     ms.GetBuffer(),
                     IntPtr.Zero,
                     SoundFlags.Synchronous
|SoundFlags.Memory);   

注意这里的SoundFlag要记得把Memory加上,表示第一个参数是指向内存中的声音文件镜像。播放的时候从内存中加载资源。

不过有一点要注意的,嵌入的声音文件不宜太多,否则会让程序集变得很庞大。

代码在这里下载

Enjoy it!

黄季冬<fox23>

2008/5/18

[CF.Skills]播放嵌入资源的声音文件相关推荐

  1. matlab读取声音文件

    2019独角兽企业重金招聘Python工程师标准>>> 1) matlab读取pcm音频数据 https://blog.csdn.net/believe646875970/artic ...

  2. iPhone 播放音频声音文件

    播放音频声音文件 iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式也非常的多,我们可以把它看成一个高级的音乐播放器,它支持的播放格式有 ■ AA ...

  3. 在XNA 3.0 项目添加声音——播放MP3或WMA声音文件

    问题 你想在XNA游戏中播放一个MP3或WMA声音文件. 解决方案 XNA可以使用默认内容管道将MP3或WMA声音文件加载到一个Song对象中,加载之后,就可以使用静态的MediaPlayer类播放S ...

  4. VB直接播放EXE文件中的声音文件

    使用资源文件,可以直接在在EXE文件中播放声音文件(WAV文件),使程序显得更加专业. ⑴启动 VB6.0,在"外接程序→外接程序管理器"中加载"Visual Basic ...

  5. 在XNA 3.0 项目添加声音——通过Xact播放简单的.wav文件

    问题 你想在游戏中播放声音. 注意:Zune不支持Xact,所以参见教程7-1和7-2学习如何在Zune上播放声音. 解决方案 通过使用Xact,一个XNA Game Studio 3.0自带的免费工 ...

  6. c# 使用System.Media.SoundPlayer播放wav格式的声音文件

    using System.Media;string szPath = Application.StartupPath + "\\SoundFile\\sound.wav"; Sou ...

  7. unity声音文件播放

    Unity3D一共支持4种格式的文件 .AIFF  .WAV :适用于较短的音乐,可用作音效 .MP3  .OGG:适用于较长的音乐,可用作背景音乐 第一种方法:可以通过添加AudioSource组件 ...

  8. 在pb中实现声音文件的播放

    一个商业软件不仅要功能强大,而且界面也要美观,如果加入适量声音会增强软件的人机交互性,让软件给人更为深刻的印象.pb作为客户/服务器的客户端开发工具,在数据库管理上有强大的功能,但pb中本身没有播放声 ...

  9. Android录制声音文件(音频),并播放

    readme:1.这个demo中没有对多次点击同一个声音文件做详细处理,偶尔会有崩溃,用的时候需要注意.2.按住录音按钮录音过程中,只对竖直方向处理了一下,水平方向没写:3.没有做删除某个声音文件的操 ...

最新文章

  1. python创建一个txt文件-python新建txt文件,并逐行写入数据
  2. 华为交换机常用命令介绍
  3. 各编程语言的国内镜像源切换
  4. 面对复杂业务,if-else coder 如何升级?
  5. C++ VS C# 结构体和对象的细微区别
  6. [深度学习] Pytorch中RNN/LSTM 模型小结
  7. hive安装mysql驱动_Hadoop-2.6.0为基础的Hive安装
  8. 2021年宝鸡中学高考成绩查询,宝鸡中学排名前十名,2021年宝鸡中学排名一览表
  9. Ethercat解析(八)之主站运行阶段
  10. python flask框架下登录注册界面_Python的Flask框架中实现简单的登录功能的教程
  11. matlab 行 读取文件 跳过_Matlab调试:跳过下一行而不执行
  12. vuex的基础小案例(黑马教程)
  13. python自动下载酷狗音乐_python实现酷狗音乐mp3下载
  14. angularjs姓名转拼音js
  15. 专利与论文-4:专利申请流程与生命周期及费用
  16. 「建模学习」3DsMAX贴图制作方法,足球贴图案例详细教程
  17. 开放平台API安全设计方案
  18. excel 第12讲:vlookup函数和 macth与index函数
  19. Possible missing firmware /lib/firmware/rtl_nic/rtl8168fp-3.fw for module r8169
  20. 阿里巴巴实习一年之后的感悟

热门文章

  1. html li 怎么合并,HTML—CSS-case(合并boder / 滑动门 / 去除li边框 /css三角形原理)...
  2. 站长之家html视频播放,HTML5视频发展状况
  3. hexde php_怎样在PHP中把16进制HEX数据转换为2进制数据呢?
  4. knn计算机在图片中的应用,图像分类和kNN
  5. 智能车竞赛技术报告 | 智能车视觉 -重庆大学 - 风林火山
  6. 智能车竞赛技术报告 | 单车拉力组 - 沈阳航空航天大学 - 青梅绿茶队
  7. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 华东赛区
  8. 逐飞 RT1064 库 GCC (VSCode) 移植踩坑
  9. 磁棒 锰锌铁氧体高频磁条22x5x3mm,作为天线性能测试
  10. 低内阻的MOS管 4N04R7