用VB取得WAV文件基本信息

WAV 文件基本信息包括如是否立体声,采样频率等。
声明:
Public Const RIFF_ID = 1179011410
Public Const RIFF_WAVE = 1163280727
Public Const RIFF_FMT = 544501094
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
 

Copyright ?2005-2008 All rights reserved. www.17zixue8.com 版权所有    赣ICP备07501614号        完美兵团会员待遇说明    站主QQ:335759285