6
FMT fmt=new FMT();
public void ReadFmtHeader()
{
fmt.s_Sub_Chunk_ID_1 = reader.ReadBytes(4);
fmt.ui_Sub_Chunk_Size_ID_1 = reader.ReadBytes(4);
fmt.us_Audio_Format = reader.ReadBytes(2);
fmt.us_Num_Channels = reader.ReadBytes(2);
fmt.ui_Sample_Rate = reader.ReadBytes(4);
fmt.ui_Byte_Rate = reader.ReadBytes(4);
fmt.us_Block_Align = reader.ReadBytes(2);
fmt.us_Bits_Per_Sample = reader.ReadBytes(2);
if (Convert.ToInt32(fmt.ui_Sub_Chunk_Size_ID_1) == 18)// Exception thrown on this line
{
// Read any extra values
int fmtExtraSize = reader.ReadInt16();
reader.ReadBytes(fmtExtraSize);
}
}
我正在尝试读取波形文件,然后使用标题信息重新创建并保存到文件。 我不知道是什么问题。任何人都可以帮助我吗?无法投射'System.Byte []'类型的对象来键入'System.IConvertible'
那么BitConverter.ToInt32和Convert.ToInt32有什么区别? – 2012-07-15 12:03:04
区别在于'BitConverter'是为了完成你想要做的事情而构建的:获取一组字节并将它们转换为它们的整体表示。 'Convert.Int32'用于转换已经是整数的任何东西,或者可以使用'IConvertible'接口转换为整数。 – 2012-07-15 21:17:37