2015-07-03 85 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”文件格式。