[問題] 關於各個音訊檔案的格式用法

看板C_and_CPP (C/C++)作者 (小勇)時間13年前 (2013/02/22 01:23), 編輯推噓4(4012)
留言16則, 4人參與, 最新討論串1/1
最近正在研究Microsoft的XAudio2 APIs來撥放音訊檔案 http://msdn.microsoft.com/en-us/library/windows/desktop/ee415762(v=vs.85).aspx 我照著上面的程式碼慢慢做下來也成功了撥放音樂檔 但是我就是看不懂他在那邊讀入兩三次在讀什麼的幹嘛一直把Point拉回Begin 後來發現因為我都看程式碼沒看的他說明發現他有一章是在說RIFF格式的東西 後來在大概知道他讀近來的大概是什麼資料 問題來了今天我是撥放WAV那以後如果我要撥放MP3,midi等等其它格式怎麼辦?? 我又不知道他格式內容是怎麼編排的 還是說XAudio2只能撥放WAV???不能撥放其他類型 還請大大們指點一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 113.61.160.43

02/22 03:06, , 1F
有幾種方法...
02/22 03:06, 1F

02/22 03:06, , 2F
1. 在 asset 產出的階段就轉換成支援的格式
02/22 03:06, 2F

02/22 03:06, , 3F
2. Runtime 將 MP3 / MIDI 解碼成 WAVE 放入 buffer
02/22 03:06, 3F

02/22 03:06, , 4F
3. 用其他更高階,支援 MP3 / MIDI 的 API 播放
02/22 03:06, 4F

02/22 03:32, , 5F
MP3和MIDI有什麼辦法可以轉成WAVE??
02/22 03:32, 5F

02/22 03:34, , 6F
還有更好的API還是SDK可以撥放嗎??因為DirectX的東西
02/22 03:34, 6F

02/22 03:34, , 7F
我還以為很高級了說~"~
02/22 03:34, 7F

02/22 08:42, , 8F
DirectX 本質上還是偏低階 API
02/22 08:42, 8F

02/22 08:44, , 9F
MIDI DX9 可以用 DirectMusic,MP3 可以考慮 libmpg123
02/22 08:44, 9F

02/22 08:46, , 10F
以 DirectSound 來說,低階 API 只吃 LPCM 很正常 XD
02/22 08:46, 10F

02/22 11:24, , 11F
所以遊戲的音效不見得都是要用DirectX下去寫瞜??
02/22 11:24, 11F

02/22 11:26, , 12F
雖然現在有很多現成的遊戲引擎不過我還是想了解底層寫法XD
02/22 11:26, 12F

02/22 12:40, , 13F
先去了解MP3和midi是什麼 還有Wav是什麼.....
02/22 12:40, 13F

02/22 14:26, , 14F
你高興要用 MCI 也是可以啦 XD 其他還有 OpenAL 跟 SDL
02/22 14:26, 14F

02/22 14:27, , 15F
OpenAL 後端其實也是用 DirectSound
02/22 14:27, 15F

02/22 16:32, , 16F
感謝各位大大的解說 我再研究一下XD
02/22 16:32, 16F
文章代碼(AID): #1H9bWdRr (C_and_CPP)
文章代碼(AID): #1H9bWdRr (C_and_CPP)