没有合适的资源?快使用搜索试试~ 我知道了~
首页c# wav 文件分析
In this article, we'll discuss the RIFF file format, and more specifically the PCM RIFF-wave. We'll detail the most common data structures that compose it, and briefly discuss the variants you might see. Finally, we'll develop a "profiler" that parses, loads into memory, and outputs as XML, the relevant file data.
资源详情
资源评论
资源推荐

Introduction
!"#$%&#'
()")'"
&#&*()+%#
#))$$&#
!$$#,%#"
&'""#
%$$)"#$",
#)""())-"&
".))&$#"
/)"))#+
0(0%"&'
)"1"#&"2
0#("0"%')
#&#"#(1"#32#
&'455"&#!6
455$%'&
7#$#)5#&'$00
&#&8 9&$
Background

The Resource Interchange File Format
455"# ": &#
(;;%$'#455<-=$&
&45515"#"455-)
&55&%(2
>$#455"#/
+
6 6#6
public string sGroupID; //Surprisingly enough, this is always "RIFF"
public uint dwFileLength; //File length in bytes, measured from offset 8
public string sRiffType; //In wave files, this is always "WAVE"
455"&(#)&0(0>(
)#+
6 6#6
public string sChunkID; //Four bytes: "fmt ", "data", "fact", etc.
public uint dwChunkSize; //Length of header in bytes
The Joys of Proprietary File Formats
?"#&@"
"&@$"$"
@&#+$-&
#A(#&#""#
5)&')"(#&"
)$#$+"(
(
Chunkin'
/"(#"&
)""1&"&!6
2&"1&&*&B
2&'"*#&"1#&C
2&"#"/"(
+
6 6#6
public string sChunkID; //Four bytes: "fmt "
public uint dwChunkSize; //Length of header in bytes
public ushort wFormatTag; //1 if uncompressed Microsoft PCM audio

public ushort wChannels; //Number of channels
public uint dwSamplesPerSec; //Frequency of the audio in Hz
public uint dwAvgBytesPerSec;//For estimating RAM allocation
public ushort wBlockAlign; //Sample frame size in bytes
public uint dwBitsPerSample; //Bits per sample
%&##5,-")sample&
)sample?,D'$)()<'
$#E&E&'.-"
/SamplesPerSecond#)$""
/BitsPerSample&&""
single channel"
/($+(-#).&
!6 $#+
6 6#6
public string sChunkID; //Four bytes: "data"
public uint dwChunkSize; //Length of header in bytes
//Different arrays for the different frame sizes
public byte [] byteArray; //8 bit unsigned data; or...
public short [] shortArray; //16 bit signed data
%A)F)$$,%&'
$#)*&'(
The Joys of Proprietary File Formats, Reprise
/'$&)+')"
(3$&'#)
data(&&""fmt1"2
/)$&
)"##-(
#)fmt<
#&$)
)%$
E))455(+#$$
"#(&
G/'#&"
+"C
Inside a wave !le
剩余10页未读,继续阅读









安全验证
文档复制为VIP权益,开通VIP直接复制

评论0