MCI控件(三)

12.3.1  MCI多媒体控件(3)

(4)调试运行程序。

按F5键或选择"调试"→"启动调试"命令运行程序,单击"打开文件"按钮选择一个avi文件进行播放,这时程序会自动播放AVI文件,如图12-4所示。

 
(点击查看大图)图12-4  程序播放test.avi文件

这时会发现,该文件的播放是在另外一个窗口中进行的,而且该窗口的出现位置是随机的。如何使画面在一个固定的窗口中播放呢?例如,如何使AVI在程序结果中的图片框内播放呢?这时要使用hWndDisplay属性,即要将图片框的句柄赋给MCI控件的hWndDisplay属性。

(5)修改程序代码,使视频文件在PictureBox中播放。

在窗体的Form_Load事件中添加下面代码:

 
 
  1. Private Sub FrmMPlayer_Load(ByVal sender As System.Object, _  
  2. ByVal e As System.EventArgs) Handles MyBase.Load  
  3.     mciPlayer.hWndDisplay = picDisplay.Handle.ToInt32  
  4. End Sub 
再次运行程序,这时候发现,文件已经在PictureBox控件中播放了,如图12-5所示。

 

图12-5  播放AVI文件

【专家提示】

 

播放AVI文件的关键是要将MCI控件的DeviceType属性设置为avivideo。

(6)为播放器添加播放WAV、MIDI和MPEG等文件的功能。

在"打开文件"按钮的Click事件中继续添加代码,功能如下:

 
 
  1. Private Sub btnOpenFile_Click(ByVal sender As System.Object, _  
  2.     ByVal e As System.EventArgs) Handles btnOpenFile.Click  
  3.         Dim dlgOpen As New OpenFileDialog  
  4.         dlgOpen.Filter = "avi格式|*.avi|wav格式|*.wav|mid格式|*.mid" + _  
  5.                             "|mpg格式|*.mpg|dat格式|*.dat|mp3格式|*.mp3" 
  6.         dlgOpen.Title = "打开媒体文件" 
  7.         If dlgOpen.ShowDialog = Windows.Forms.DialogResult.OK Then 
  8.             mciPlayer.Command = "close" 
  9.             '判定打开了哪种类型的文件  
  10.             Select Case dlgOpen.FilterIndex  
  11.                 'avi格式  
  12.                 Case 1  
  13.                     Me.mciPlayer.DeviceType = "avivideo" 
  14.                 'wav格式  
  15.                 Case 2  
  16.                     Me.mciPlayer.DeviceType = "wavaudio" 
  17.                 'mdi格式  
  18.                 Case 3ss  
  19.                     Me.mciPlayer.DeviceType = "sequencer" 
  20.                 'mpeg格式  
  21.                 Case 4, 5, 6  
  22.                     Me.mciPlayer.DeviceType = "mpegvideo" 
  23.                 Case Else 
  24.                     MsgBox("无效的文件格式")  
  25.                     Exit Sub 
  26.             End Select 
  27.             Me.mciPlayer.FileName = dlgOpen.FileName  
  28.             Me.mciPlayer.Command = "open" 
  29.             Me.mciPlayer.Command = "play" 
  30.         End If 
  31.     End Sub 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值