如何从资源播放音频
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();
【讨论】:
以上是关于如何从资源播放音频的主要内容,如果未能解决你的问题,请参考以下文章