請教聲音檔案(wav)取frame 的方法 |
尚未結案
|
f814030
一般會員 ![]() ![]() 發表:20 回覆:22 積分:8 註冊:2008-04-04 發送簡訊給我 |
學生有一個3秒的音訊檔
想要每0.1s 取一個frame, 也就是說每一個frame 有800個值 目前學生的做法是用for 迴圈的方式 但運算下來就是停不下來…就像進入了無限迴圈… [code cpp] TMemoryStream *ms = new TMemoryStream(); ms->LoadFromFile(OpenDlg->FileName); Byte *pWaveData = (Byte* )ms->Memory; for (int ii=0; ii < 24000; ii=ii 800) { //24000是指音訊檔總共所有的數值各數 if (ii=0) { for (int i1 = ii; i1 < 800; i1 ) { Memo1->Lines->Add(IntToHex(pWaveData[i1],2)); Memo1->Lines ->SaveToFile("800.txt"); } } if (ii=800) { for (int i2 = ii; i2 < 1600; i2 ) { Memo1->Lines->Add(IntToHex(pWaveData[i2],2)); Memo1->Lines ->SaveToFile("1600.txt"); } } } delete ms; [/code] 目前只想到很笨的方法…用迴圈來取數值(每800一個間隔) 請教各位先進,有無更好的方法呢? 懇請賜教~謝謝
------
Spencer~~~~* |
taishyang
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |