如何从资源播放音频

Posted

技术标签:

【中文标题】如何从资源播放音频【英文标题】:How to play audio from resource 【发布时间】:2009-12-14 12:40:51 【问题描述】:

我正在尝试使用 .NET Compact Framework 从资源中播放音频。我在我的应用程序中为资源属性添加了一个音频文件,并尝试将以下示例资源文件参考代码用于...

SoundPlayer player = new SoundPlayer(Assembly.GetExecutingAssembly().
    GetManifestResourceStream("blessedwav.wav"));
player.Play();

但此代码不会播放 WAV 声音。如何使用 .NET Compact Framework 3.5 播放资源音频文件?

【问题讨论】:

【参考方案1】:

我得到了解决方案。此代码在 .NET Compact Framework 中运行良好:

// Convert a byte array to a stream
using (var audiostream = new MemoryStream(Properties.Resources.full_song_wav))

    using (var player = new SoundPlayer(audioStream))
    
        player.Play()
    

【讨论】:

很高兴听到您找到了解决方案 :)【参考方案2】:

试试这个:

//I added the file as a audio resource in my project
SoundPlayer player = new SoundPlayer(Properties.Resources.recycle);
player.Play();

我没有尝试使用 .NET Compact Framework。但它在 C# 中对我有用。

【讨论】:

我试试这个代码,但它不起作用.Net CF,它显示错误:System.Media.SoundPlayer.SoundPlayer(string)' 的最佳重载方法匹配有一些无效参数。无论如何谢谢anuraj 嗯,所以我认为 .Net CF 只有一个使用字符串作为参数的重载。那么为什么不将文件保存到临时位置并从那里播放呢。【参考方案3】:

这应该适合你:

Stream str = Properties.Resources.YourWaveSoundFile;
SoundPlayer plyr = new SoundPlayer(str);
plyr.Play();

确保您的命名空间上方有using System.Media

【讨论】:

【参考方案4】:
Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture);
System.IO.Stream s = Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture);
SoundPlayer player = new SoundPlayer(s);
player.Play();

【讨论】:

以上是关于如何从资源播放音频的主要内容,如果未能解决你的问题,请参考以下文章

安卓中如何播放音频

安卓中如何播放音频

如何同时播放多个音频文件

从 url 下载时如何播放音频?

如何使Safari播放本地音频资源?

从远程 url 播放音频文件时如何生成音频频谱?