[問題] 如何同時播放WAV及顯示波形

看板C_Sharp作者 (越夜越美麗)時間16年前 (2009/07/31 13:42), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
小弟是個新手 最近在寫一個Mobile播放程式 其功能為播放Wav和顯示其音訊波形 播放部份參考MSDN範例 將stream由BinaryReadr取出值 可由waveoutOpen、waveoutPrepareHeader、 waveoutWrite等function播出 顯示波形部份 亦是將Stream由BinaryReader取出Data值 再畫出圖形部份 但問題是該如何同時作這兩件事 達到同步播放及顯示的效果 如果同時存取一個Stream 其BinaryReader.BaseStream的Position會隨著時間而前進 導致播放了一塊音訊 但畫出的波形從播放完的音訊區塊開始 請問我該怎麼去解決 或者有更好的方法執行 達到同時播放WAV和顯示波形的效果 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.19.79

07/31 13:47, , 1F
BinaryReader讀資料進buf,buf分別塞給算圖的和播放的函式
07/31 13:47, 1F

07/31 14:52, , 2F
你可以先畫好要畫的部分 再播放 等圖超過範圍 圖再更新
07/31 14:52, 2F

07/31 14:53, , 3F
而且要先讀進正在播放的附近的資料
07/31 14:53, 3F

08/04 23:10, , 4F
感謝 加了Buffer去執行 把問題給解決了
08/04 23:10, 4F
文章代碼(AID): #1ASeHR1t (C_Sharp)