WAV 文件基本信息包括如是否立体声,采样频率等。 声明: Public Const RIFF_ID = 1179011410 Public Const RIFF_WAVE = 1163280727 Public Const RIFF_FMT = 544501094 'Typical header of a simple RIFF WAVE file Public Type WAVInfo Riff_Format As Long chunk_size As Long ChunkID As Long fmt As Long Wave_Format As Integer Channels As Integer '0 = 单声道, 1 = 立体声 SamplesPerSecond As Long AverageBytesPerSecond As Long '11.025kHz, 22.05kHz, 等 BlockAlign As Integer 'Size of blocks for low level playback End Type 函数: Public Function GetWaveInfo(Byval filename As String, Byref w As WAVInfo) _ As Boolean Dim ff As Integer ff = FreeFile On Error GoTo ehandler Open filename For Binary Access Read As #ff On Error GoTo ehandler_fo Get #ff, , w Close #ff On Error GoTo ehandler If w.Riff_Format = RIFF_ID And w.ChunkID = _ RIFF_WAVE And w.fmt = RIFF_FMT Then GetWaveInfo = True Else GetWaveInfo = False End If Exit Function ehandler_fo: Close #ff ehandler: GetWaveInfo = False End Function |