NAudio 播放流、字节数组(非wav、mp3、aiff格式)
生活随笔
收集整理的這篇文章主要介紹了
NAudio 播放流、字节数组(非wav、mp3、aiff格式)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
NAudio 播放流、字節(jié)數(shù)組(非wav、mp3、aiff格式)
1. 問題
http或websocket通信返回的音頻數(shù)據(jù)流,導(dǎo)出到音頻文件,然后再用AudioFileReader讀取文件流,可以播放比較多格式的音頻(例如:webm)。但是如果不創(chuàng)建臨時(shí)文件,改如何直接播放流MemoryStream?
2. 舉例
- 1、返回的音頻流是webm時(shí),臨時(shí)文件法可以正常播放,猜測(cè)可以分析讀取文件流的方式,取消掉多余的步驟;
- 2、查看AudioFileReader構(gòu)造函數(shù),其中CreateReaderStream方法是成功播放wav、mp3、aiff這3類音頻的關(guān)鍵,所以需要找到能MediaFoundationReader相關(guān)聯(lián)的類;
- 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);}總結(jié)
以上是生活随笔為你收集整理的NAudio 播放流、字节数组(非wav、mp3、aiff格式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html无效的属性值,html – gr
- 下一篇: 软件项目管理 7.4.5.进度计划编排-