计算机二级

3773考试网计算机等级考试计算机二级正文

MCI播放器在VB中实现

来源:fjzsksw.com 2010-4-7 9:39:47

 

  MciCommand = "open " & RefShortName & " type " & DriverID & " alias NOWMUSIC"
  If DriverID = "AVIVideo" Or DriverID = "MPEGVideo" Or DriverID = "MPEGVideo2" Then
  If hwnd <> 0 Then
  MciCommand = MciCommand + " parent " & hwnd & " style child"
  hWndMusic = GetWindowHandle
  prevWndproc = GetWindowLong(hWndMusic, -4)
  SetWindowLong hWndMusic, -4, AddressOf WndProc
  Else
  MciCommand = MciCommand + " style overlapped "
  End If
  End If
  RefInt = mciSendString(MciCommand, vbNull, 0, 0)
  mciSendString "set NOWMUSIC time format milliseconds", vbNullString, 0, 0
  If RefInt = 0 Then OpenMusic = True
  End Function
  Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  If Msg = &H202 Then
  MsgBox "OK"
  End If
  WndProc = CallWindowProc(prevWndproc, hwnd, Msg, wParam, lParam)
  End Function
  '=======================================================
  '根据文件名,确定设备
  '=======================================================
  Public Function GetDriverID(ff As String) As String
  Select Case UCase(Right(ff, 3))
  Case "MID", "RMI", "IDI"
  GetDriverID = "Sequencer"
  Case "WAV"
  GetDriverID = "Waveaudio"
  Case "ASF", "ASX", "IVF", "LSF", "LSX", "P2V", "WAX", "WVX", ".WM", "WMA", "WMX", "WMP"
  GetDriverID = "MPEGVideo2"
  Case ".RM", "RAM", ".RA"
  GetDriverID = "RealPlayer"
  Case Else
  GetDriverID = "MPEGVideo"
  End Select
  End Function
  '======================================================
  '播放文件
  '======================================================
  Public Function PlayMusic() As Boolean
  Dim RefInt As Long
  PlayMusic = False
  RefInt = mciSendString("play NOWMUSIC", vbNull, 0, 0)
  If RefInt = 0 Then PlayMusic = True
  End Function
  '======================================================
  '获取媒体的长度
  '======================================================
  Public Function GetMusicLength() As Long
  Dim RefStr As String * 80
  mciSendString "status NOWMUSIC length", RefStr, 80, 0
  GetMusicLength = Val(RefStr)
  End Function

 

 

上一页  [1] [2] [3] [4] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1