作者fongfonglin (越夜越美麗)
看板C_Sharp
標題[問題] 如何同時播放WAV及顯示波形
時間Fri Jul 31 13:42:48 2009
小弟是個新手
最近在寫一個Mobile播放程式
其功能為播放Wav和顯示其音訊波形
播放部份參考MSDN範例
將stream由BinaryReadr取出值
可由waveoutOpen、waveoutPrepareHeader、 waveoutWrite等function播出
顯示波形部份
亦是將Stream由BinaryReader取出Data值
再畫出圖形部份
但問題是該如何同時作這兩件事
達到同步播放及顯示的效果
如果同時存取一個Stream
其BinaryReader.BaseStream的Position會隨著時間而前進
導致播放了一塊音訊
但畫出的波形從播放完的音訊區塊開始
請問我該怎麼去解決
或者有更好的方法執行
達到同時播放WAV和顯示波形的效果
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.19.79
1F:→ toki:BinaryReader讀資料進buf,buf分別塞給算圖的和播放的函式 07/31 13:47
2F:→ bdvstg:你可以先畫好要畫的部分 再播放 等圖超過範圍 圖再更新 07/31 14:52
3F:→ bdvstg:而且要先讀進正在播放的附近的資料 07/31 14:53
4F:→ fongfonglin:感謝 加了Buffer去執行 把問題給解決了 08/04 23:10