2010年1月12日 星期二
HW6
上面是按下撥放鍵之前
上圖是按下撥放鍵後
作業六:將 WAV 檔頭資料顯示出來 這次作業很簡單,
幾乎是跟第三次作業也差不多的題型,只是做成讀wav檔,
老師教了一個不同讀file大小的方法
不用
iFileSize = bSize[0] + bSize[1]* 256 + bSize[2] * 256*256 + bSize[3] * 256*256*256+8;
而是用
unsigned int cB[1]; int FileSize; fseek (file,4,SEEK_SET) ; fread(cB, 4, 1, file); FileSize = cB[0];
這類的讀法,可以不必上面那個乘來乘去的,又方便讀
做這程式遇到的難題是要怎麼撥放檔案讓他有聲音呢?
老師提示:System裡的MediaPlayer
不過沒用過該怎麼用勒?
開始google,,好多篇文章,之後看到一篇ppt,馬上下載下來看
剛開始好多廢話,拉到MediaPlayer這個地方,好多語法,不管了隨便貼
奇怪??為什麼編譯後MediaPlayer按鈕都沒亮呢?一直翻,最後一頁
撥放範例:
MediaPlayer1->FileName = OpenDialog1->FileName;
MediaPlayer1->Open();
原來這麼簡單........
再來是檔頭部分,看維基百科,檔頭資訊好少,在去搜尋一下,有很多關於wav檔的東西,依靠著這些網路上的資訊,實在讓人驚嘆,網路世界裡也有好多老師阿,
當然這作業就很順利的完成囉~
不過還是有一樣問題,就是我讀出來的東西 只要是文字部分後面就會有"?"
數字就沒有,讓我很疑惑,不知道如何解決!!!
訂閱:
張貼留言 (Atom)
字串的結束符號是 NULL, 所以宣告時要多加一個, 把值設成 NULL 即可正常顯示出來。
回覆刪除char cName[5];
cName[4] = NULL;