2015-07-03 106 views
-1

解決,謝謝。這是base64,這是有效的。從字符串創建波形文件

System.Convert.FromBase64String(columns[6]); 

再次感謝。

我得到了一個TSV文件,在這個文件裏面有音頻存儲爲原始字符串和相關的波形信息。每行一個波形及其信息。我需要做的是讀取每一行,獲取音頻,並將它們保存爲分離的波形文件。波串的 一個樣品是這樣的:

UklGRpgiAABXQVZFZm10ICwAAACUAgEAgD4AAPAKAAA4AAAAGgABAA8AKACOAgEAgD4AANAHAAAoAAAAAgBAAWRhdGFYIgAAQMQKQPQTQTQSQTQSQTQUQYNBVBNBJBJBJBNBJBRBRKFEE0EkE0FEFEE0FEFUFQAAAAAAAAAAAADACOmRY92lbj7 + 7kGhMFC3V9I3qMyjX2G8vAclkKFxUlD26mS + 1qCRMV4OuVCxXf/IxrFBj /// 9sAG0iRqqUOIIRKT/4vqBtdWJF6pI/mWgPFx6JlUIFUPm6gofbyf93hJ6NCbgja88uTflydp ///

我試圖讀取該行和使用:

byte[] waveContext = Encoding.Default.GetBytes(columns[6]); 
File.WriteAllBytes(waveFullPath, waveContext); 

但輸出文件只包含相同的字符串。 有沒有人有如何處理這個想法?

非常感謝。

+0

看起來像base64。是嗎? –

+0

您需要知道字節是如何轉換爲字符串的。你不能只是將任意字節轉換爲字符串,並將某些東西視爲「可讀」,因此必須進行某種類型的轉換(例如Base64)。如果是這樣,您需要反轉該轉換。 –

+0

是的,它是Base64編碼的WAV文件 – phuzi

回答

0

看起來像一個基地64編碼的字符串。

byte[] waveBytes = System.Convert.FromBase64String(base64EncodedData); 

不知道如何建立一個波形文件。這可能會幫助你:MSDN: Creating wav files in C#。 (與谷歌一起搜索10次)

0

沒有「以原始字符串存儲的音頻」這樣的東西。

音頻數據是二進制數據通常(這些天)的兩個通道16位組成交錯 通過短的(二進制)報頭包含通道和採樣率的數量預先考慮。

閱讀關於「RIFF WAV」文件格式。