来自流的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?播放音频的主要内容,如果未能解决你的问题,请参考以下文章

使用 NAudio 录制和播放音频

使用 NAudio 发送正在播放的音频

NAudio - 通过终端服务器连接播放断断续续的音频

无法播放用 naudio 录制的音频流

使用 NAudio 1.7+ 播放音频文件

NAudio Asio 录制和播放