看板 GameDesign 關於我們 聯絡資訊
最近在用DirectX,但是在導入音效wav檔方面出了問題 按照書本範例給的標頭檔來判斷是否為wav檔 typedef struct xWaveHeader{ char RiffSig[4]; long WaveformChunkSize; char WaveSig[4]; char FormatSig[4]; long FormatChunkSize; short FormatTag; short Channels; long SampleRate; long BytesPerSec; short BlockAlign; short BitPerSample; char DataSig[4]; long DataSize; } 但是問題是,同樣都是這一個 struct 來判斷 卻有的 wav 可以載入有的卻會錯誤 而且錯的通常都是 DataSig 一欄 正常來說應該是至入 [d][a][t][a] 但是錯誤的在同一欄卻變成 [] [] [d] [a] 差了2個 byte 而且就算刻意多放入2個byte,最後的 DataSize也對不起來 有人知道這是啥問題嗎囧? 因為素材有限,結果還一堆不能用頗囧.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.112.119
Bencrie:你可能要調一下對齊 ... 像BMP的 header也有這種問題 04/26 22:34
steven70101:也就是說我可能要每個wav檔分開處理? 04/26 23:48
steven70101:抱歉新手沒概念... 04/26 23:48
asoedarren:關鍵字"pragma pack" 04/26 23:50