2010年1月15日 星期五

hw06

















關於這次的作業,
老師給了一個不用去計算byte的方法 ,
定義一個unsigned int wsize[1],
直接將值給存到wsize[0] ,
可以大幅縮減寫程式的時間,
原來只是一個資料型態的不同就可以差這麼多,
還真的是讓我大開眼界 ,
fread(wsize, 4, 1, imWAV),

iFileSize = wsize[0]+8, //計算過的檔案大小再加上誤差就正確了

至於要讀檔名的部分,我有詢問老師
因為讀出來之後RIFF後面會出現亂碼,
原來是因為沒有將後面指向NULL所以會亂取一些東西,造成亂碼的現象


fread(wriff, 1, 4, imWAV),

wriff[4]=NULL, //將其最後一個記憶體位置指向null



















至於開音樂部份就類似於我們在開啟檔案的部分
MediaPlayer1->FileName=OpenDialog1->FileName,
MediaPlayer1->Open(),

其他部分就是一樣這樣讀取,
基本上 只要知道記憶體存放位置,沒有讀不出來的東西。

沒有留言:

張貼留言