加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

 
MCI播放器在VB中实现
来源:fjzsksw.com 2010-4-7 编辑:zhanghaifeng 【字体:小 大】
MCI播放器在VB中实现

 

  '用MCI命令来实现多媒体的播放功能
  '下面的内容几乎有播放器软件的各种功能,你只是引用这些函数就能做出一个播放器来
  '
  Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  Public Declare Function mciGetDeviceID Lib "winmm.dll" Alias "mciGetDeviceIDA" (ByVal lpstrName As String) As Long
  Public Declare Function waveOutGetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long
  Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
  Enum PlayTypeName
  File = 1
  CDAudio = 2
  VCD = 3
  RealPlay = 4
  End Enum
  Dim PlayType As PlayTypeName
  Enum AudioSource
  AudioStereo = 0 ' "stereo"
  AudioLeft = 1 '"left"
  AudioRight = 2 '"right"
  End Enum
  Dim hWndMusic As Long
  Dim prevWndproc As Long
  '=======================================================
  '打开MCI设备,urlStr为网址,传值代表成功与否
  '=======================================================
  Public Function OpenURL(urlStr As String, Optional hwnd As Long) As Boolean
  OpenMusic = False
  Dim MciCommand As String
  Dim DriverID As String
  CloseMusic
  'MCI命令
  DriverID = GetDriverID(urlStr)
  If DriverID = "RealPlayer" Then
  PlayType = RealPlay
  Exit Function
  End If
  MciCommand = "open " & urlStr & " 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
  '=======================================================
  '打开MCI设备,FILENAME为文件名,传值代表成功与否
  '=======================================================
  Public Function OpenMusic(FileName As String, Optional hwnd As Long) As Boolean
  OpenMusic = False
  Dim ShortPathName As String * 255
  Dim RefShortName As String
  Dim RefInt As Long
  Dim MciCommand As String
  Dim DriverID As String
  CloseMusic
  '获取短文件名
  GetShortPathName FileName, ShortPathName, 255
  RefShortName = Left(ShortPathName, InStr(1, ShortPathName, Chr(0)) - 1)
  'MCI命令
  DriverID = GetDriverID(RefShortName)
  If DriverID = "RealPlayer" Then
  PlayType = RealPlay
  Exit Function
  End If

 



 
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
推荐文章
  • 此栏目下没有推荐文章
  • 热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机