NAudio 播放流、字节数组(非wav、mp3、aiff格式)
生活随笔
收集整理的這篇文章主要介紹了
NAudio 播放流、字节数组(非wav、mp3、aiff格式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
NAudio 播放流、字節數組(非wav、mp3、aiff格式)
1. 問題
http或websocket通信返回的音頻數據流,導出到音頻文件,然后再用AudioFileReader讀取文件流,可以播放比較多格式的音頻(例如:webm)。但是如果不創建臨時文件,改如何直接播放流MemoryStream?
2. 舉例
- 1、返回的音頻流是webm時,臨時文件法可以正常播放,猜測可以分析讀取文件流的方式,取消掉多余的步驟;
- 2、查看AudioFileReader構造函數,其中CreateReaderStream方法是成功播放wav、mp3、aiff這3類音頻的關鍵,所以需要找到能MediaFoundationReader相關聯的類;
- 3、借助vs代碼智能提示,找到了MediaFoundationReader的子類StreamMediaFoundationReader
3. 代碼修改
byte[] buffer; using (var ms = new MemoryStream(buffer))using (var media = new StreamMediaFoundationReader(ms))using (var waveOut = new WaveOutEvent()){waveOut.Init(media);waveOut.Play();while (waveOut.PlaybackState == PlaybackState.Playing)Thread.Sleep(100);}總結
以上是生活随笔為你收集整理的NAudio 播放流、字节数组(非wav、mp3、aiff格式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html无效的属性值,html – gr
- 下一篇: 软件项目管理 7.4.5.进度计划编排-