背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-70.html    注册17xie 一起来写书 实现您的出书梦想!

'清屏

For I = 0 To W Step 1

        For J = 0 To H Step 1

            '从左向右的显示图像

            BitBlt Picture2.hDC, I, J, 1, 1, Picture1.hDC, I, J, srccopy

            '图像不旋转

        Next J

Next I

End Sub

 

Private Sub Form_Load()

Picture2.Picture = LoadPicture("e:\user\ylm\api\key.bmp")

'控件的初始化

H = Picture1.Height

W = Picture1.Width

End Sub

9.3  API的多媒体应用

9.3.1  制作音乐播放程序

前面已经介绍过利用MMControl控件制作一个CD播放器,实现起来十分的方便,但是,以下将要介绍的利用API函数制作CD播放器则更加简单和易用,只需要了解一个API函数——mciExecute()函数即可。

在这里制作CD播放器不用添加多媒体控件,只需要写几行代码即可,具体的步骤如下:

1.首先启动一个新的项目

首先用鼠标选择Windows操作系统“开始”菜单中的“程序”/Microsoft Visual Studio中的Microsoft Visual Basic 选项来激活Visual Basic  应用程序,在Vbisual Basic 6.0的集成开发环境中用鼠标选择“文件”菜单中的“新建工程”选项。在“新建工程”对话框中选择“标准EXE”选项,单击“确定”按钮,在Visual Basic 中就新建了一个标准的工程文件,同时打开了一个空白的窗体。

在空白窗体的声明段中添加对函数mciExecute()的声明;

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

2.添加控件

在窗体上添加六个CommandButton控件和四个OptionButton控件,它们的属性设置如表9-9所示。

 

9-9  控件的属性及其设置

 

 

 

CommandButton控件

(Name)

Open

Caption

打开

CommandButton控件

(Name)

Play

Caption

播放

CommandButton控件

(Name)

stop1

Caption

停止/暂停

CommandButton控件

(Name)

Eject

Caption

弹碟

CommandButton控件

(Name)

Close1

Caption

装入光碟

CommandButton控件

(Name)

Exit

Caption

退出

OptionButton控件

(Name)

Option1

Caption

左声道输出

Value

False

OptionButton控件

(Name)

Option2

Caption

右声道输出

Value

False

OptionButton控件

(Name)

Option3

Caption

立体声输出

Value

True

OptionButton控件

(Name)

Option4

Caption

静音

Value

False

添加控件后的窗体如图9-14所示。

9-14  添加控件后的窗体

3.程序的初始化

由于在未打开CDAudio设备之前不能够对它进行播放等操作,所以要在窗体的Form_Load()过程中添加有关控件的初始化代码如下:

Private Sub Form_Load()

play.Enabled = False

stop1.Enabled = False

eject.Enabled = False

close1.Enabled = False

option1.Enabled = False

option2.Enabled = False

option3.Enabled = False

option4.Enabled = False

'初始化按钮的状态

End Sub

在程序刚刚开始运行时,由于还没有打开相应的CDAudio设备,还不能够对它执行操作,所以“播放”、“弹碟”、“停止/暂停”和“装入光碟”按钮处于无效的状态,同理,四个OptionButton控件也应该处于无效的状态。

4.为CommandButton控件添加代码

下面以“打开”按钮为例来添加代码,在设计阶段双击“打开“按钮,在open_Click()事件中添加下列代码:

Private Sub open_Click()

mciExecute "open cdaudio alias cd"

'打开CDAudio设备

play.Enabled = True

stop1.Enabled = True

eject.Enabled = True

close1.Enabled = False

Option1.Enabled = True

Option2.Enabled = True

Option3.Enabled = True

Option4.Enabled = True

'设置按钮的状态

End Sub

程序首先通过mciExecute "open cdaudio alias cd"这一条语句来打开CDAudio设备,然后可以对各个按钮的有效状态进行相应的设置,如“播放”按钮应处于有效的状态,而“装入光碟”按钮则应该处于无效的状态。

其余几个CommandButton控件的代码就不一一的解释了,具体的代码请参见后面所服的源程序。

5.处理OptionButton控件的事件

在打开CDAudio设备后,播放CD音乐之前,可以通过四个OptionButton控件来选择声音的输出形式,如“左声道输出”和“立体声输出”等,代码如下:

Private Sub play_Click()

If Option1(0).Value Then

   mciExecute "set cd audio right off"

   '关闭右声道

   mciExecute "set cd audio left on"

   '打开左声道

ElseIf Option2(1).Value Then

   mciExecute "set cd audio left off"

   '关闭左声道

   mciExecute "set cd audio right on"

   '打开右声道

ElseIf Option3(2).Value Then

   mciExecute "set cd audio all on"

   mciExecute "set cd audio left on"

   mciExecute "set cd audio right on"

   '立体声播放CD

ElseIf Option4(0).Value Then

   mciExecute "set cd audio all off"

   '静音

End If

mciExecute "play cd"

'播放CD

End Sub

在播放CD音乐之前,即mciExecute "play cd"语句执行之前,通过一个条件判断语句来确定用户对声音输出形式的选择,比如选择“右声道输出”,那么在播放CD音乐之前程序会执行下面的几条语句:

mciExecute "set cd audio left off"

'关闭左声道

mciExecute "set cd audio right on"

'打开右声道

即首先关闭左声道,打开右声道,然后再执行相应的播放等操作。

6.添加剩余的代码并运行

在剩余的控件中添加能够实现相应功能的代码,如在“退出”按钮中添加下列代码:

Private Sub exit_Click()

mciExecute "close cd"

'关闭CD设备

End

'结束运行

End Sub

其余几个控件的详细代码见附后的程序源代码。

存储文件,运行程序,初始画面如图9-15所示。

9-15  程序运行初始画面

在程序运行时,单击“打开”按钮,这时“播放”按钮变为有效的状态,单击“播放”按钮,从音箱的右声道中就可以听到CD音乐的声音,结果如图9-16所示。

9-16  运行结果

附源程序如下:

程序清单

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

'声明函数

Private Sub close1_Click()

mciExecute "set cd door closed"

'合上光驱

close1.Enabled = False

eject.Enabled = True

End Sub

Private Sub eject_Click()

mciExecute "set cd door open"

'弹出光碟

eject.Enabled = False

close1.Enabled = True

'设置按钮的状态

End Sub

 

Private Sub exit_Click()

mciExecute "close cd"

'关闭CD设备

End

'结束运行

End Sub

 

Private Sub Form_Load()

play.Enabled = False

stop1.Enabled = False

eject.Enabled = False

close1.Enabled = False

Option1.Enabled = False

Option2.Enabled = False

Option3.Enabled = False

Option4.Enabled = False

'初始化按钮的状态

End Sub

 

Private Sub open_Click()

mciExecute "open cdaudio alias cd"

'打开CD设备

play.Enabled = True

stop1.Enabled = True

eject.Enabled = True

close1.Enabled = False

Option1.Enabled = True

Option2.Enabled = True

Option3.Enabled = True

Option4.Enabled = True

'设置按钮的状态

End Sub

 

Private Sub Option1_Click(Index As Integer)

mciExecute "set cd audio right off"

'关闭右声道

mciExecute "set cd audio left on"

'打开左声道

End Sub

Private Sub Option2_Click(Index As Integer)

mciExecute "set cd audio left off"

'关闭左声道

mciExecute "set cd audio right on"

'打开右声道

End Sub

 

Private Sub Option3_Click(Index As Integer)

mciExecute "set cd audio all on"


字数:5754    最后更新:1年以前 [08-29 14:34]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第九章  [后一页]:第九章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号