来自流的NAudio?播放音频
Posted
技术标签:
【中文标题】来自流的NAudio?播放音频【英文标题】:NAudio from stream? play audio 【发布时间】:2018-04-06 22:52:53 【问题描述】:我正在尝试将我的 .net 项目转换为 .net 核心(物联网核心)。一切正常,除了我的“system.media”块,因为.net核心根本没有system.media。我对此的选择显然是使用 NAudio。但是,我不知道如何让 NAudio 从 Stream 播放音频。
这是我正在尝试使用 NAudio 转换的当前代码。有什么建议么?
public void PlayAudio(object sender, GenericEventArgs<Stream> args)
SoundPlayer player = new SoundPlayer(args.EventData);
player.PlaySync();
args.EventData.Dispose();
我尝试使用此代码但没有成功。
using (Stream ms = new MemoryStream())
using (Stream stream = WebRequest.Create(url)
.GetResponse().GetResponseStream())
byte[] buffer = new byte[32768];
int read;
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
ms.Write(buffer, 0, read);
ms.Position = 0;
using (WaveStream blockAlignedStream =
new BlockAlignReductionStream(
WaveFormatConversionStream.CreatePcmStream(
new Mp3FileReader(ms))))
using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
waveOut.Init(blockAlignedStream);
waveOut.Play();
while (waveOut.PlaybackState == PlaybackState.Playing )
System.Threading.Thread.Sleep(100);
【问题讨论】:
【参考方案1】:您是否尝试过使用AudioGraph APIs?这些是在 IoT Core 上播放音频的好方法。我已经在 Raspberry Pi 上成功使用了它。
【讨论】:
以上是关于来自流的NAudio?播放音频的主要内容,如果未能解决你的问题,请参考以下文章