讀取聲音檔案(WAV)的16進制轉 int問題 |
答題得分者是:syntax
|
MulderTsai
一般會員 發表:1 回覆:2 積分:0 註冊:2007-04-04 發送簡訊給我 |
請問各位板上高手:
小弟現在想讀取一個聲音檔案(WAV)檔 擷取一段裡面的資料為04 F7 E4 F8 (4個byte) 小弟是用UltraEdit去看的...(切換成16進制模式)(這裡看到的是ASCII code嗎?) 現在我用char[4]把上面的值抓進來 接著我把前後對調成為 F7 04 F8 E4 下一步驟是想把字串轉字元 以兩個byte為單位抓在一起 成為 int a[2]=[0xF704 0xF8E4] 小弟試過strtol... 範例程式是直接用char[4]="F704"去轉成0xF704 比較之下我會少兩個byte 請教各位前輩轉換的方法... 感謝 |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
MulderTsai
一般會員 發表:1 回覆:2 積分:0 註冊:2007-04-04 發送簡訊給我 |
感謝前輩回答小弟的問題
我字串要轉字元的意義是為了要做四則運算(例:把0xF704換成-0.0701904296875) 我的WAV是16bit, 2 Byte的 我真的是脫褲子放屁了... 我用short取代char, 程式就會直接讀2 Byte並自動轉換好 小弟不是用strtoint 我是直接把short & 0xFFFF 把字串轉數字 感謝前輩提點 ===================引 用 文 章=================== 字串轉字元 ???? 壓縮嗎? 你的思路問題在這裡 另外 Wav 檔分成兩種 1 Byte? 的與? 2 Byte 的,你要先確定是 2 Byte 的,那前後互換才有意義 最後,你不需要脫褲放屁 直接使用 Word 做為讀取格式,讀進 2 byte 的資料,自然會幫你轉換好 然後 StrToInt 就會將數值轉成字串 如果是 1 byte 的 wav 才用 char 去讀 2 byte 用 char 一個一個做,太累了吧 |
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
我用short取代char, 程式就會直接讀2 Byte並自動轉換好
小弟不是用strtoint 我是直接把short & 0xFFFF ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ?? 這樣讀出來就是數值,不需要 & 0xFFFF & 0xFFFF 後還是原來的東西,應該不需要做這步驟 文字串轉數字的意義,是指 "AF 67" 轉成 44903 你用 UltraEdit 會看到 67 AF 是因為它幫你將數字轉成文字 你讀檔時並沒有誰幫你轉成文字吧,這樣一讀出來就是數值,不需要轉換 除非你用特殊的方法來處理 wav,不然,讀出來就可以使用,不需要多個預先處理的程序 |
MulderTsai
一般會員 發表:1 回覆:2 積分:0 註冊:2007-04-04 發送簡訊給我 |
我剛剛照前輩的方式下去做了
會有一個問題發生 如果不做&0xFFFF的動作 在做printf的動作時 會出現 FFFFF704這個現象 所以做&0xFFFF對我而言是有這樣的目的的 ===================引 用 文 章=================== 我用short取代char, 程式就會直接讀2 Byte並自動轉換好 小弟不是用strtoint 我是直接把short & 0xFFFF ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ?? 這樣讀出來就是數值,不需要 & 0xFFFF & 0xFFFF 後還是原來的東西,應該不需要做這步驟 文字串轉數字的意義,是指 "AF 67" 轉成 44903 你用 UltraEdit 會看到 67 AF 是因為它幫你將數字轉成文字 你讀檔時並沒有誰幫你轉成文字吧,這樣一讀出來就是數值,不需要轉換 除非你用特殊的方法來處理 wav,不然,讀出來就可以使用,不需要多個預先處理的程序 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |