logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> 图象媒体技术应用 -> Authorware实战开发专题-- MIDI背景音乐应用攻略
回复
标题:Authorware实战开发专题-- MIDI背景音乐应用攻略收藏 编辑 删除 楼主 | 上一篇 下一篇
难兄难弟
头像
等级:
权限:贵宾
积分:-45
金钱:8844
声望:-15
经验:-54
发帖数:3067
注册:2005年9月11日
资料 短消息2007-10-24 16:29:41
  Authorware 5.2支持的声音文件格式有一些限制,只有WAV、AIFF、PCM和SWA扩展后缀名的文件才可直接导入到Authorware程序中,尽管Authorware 6.0开始支持MP3格式声音文件的播放和插入,但还是不支持MIDI文件的直接使用。我们知道MIDI文件使用的是数字乐器,换句话说MIDI文件并没有真正地记录了音频信息,而是象乐谱一样记录了各种乐器的和声和音高节奏,具体的演奏任务由声卡所带的数字乐器完成。MIDI音乐有着体积信息小的特点,而且不会与WAV声音通道冲突,因此在进行多媒体开发时经常用来做背景音乐,但Authorware并不直接提供对MIDI声音文件格式的支持,怎么办呢?别急,Authorware提供了外部函数的接口可以解决这个问题:利用第三方的UCD外部函数,我们可以实现对MIDI声音文件的支持。下面我们就一起来制作两个关于MIDI背景音乐循环播放的范例吧!

循环播放MIDI背景音乐

  在这里我们要实现的目的是让MIDI背景音乐循环的播放,具体思路是通过导入Authorware的外部函数MidiLoop.U32相关的两个扩展函数,实现对MIDI背景音乐的循环播放。

  在介绍范例前我们简单介绍一下MidiLoop.U32的相关扩展函数:

Result:=LoopMidi(File)

  这个函数的功能是对程序指定的MIDI音乐进行循环播放,直到用户中止为止。其中参数File就是用户自行指定的外部MIDI文件,当然,这里指定的MIDI声音文件并没有导入程序内部,只是存在一种相当于链接的关系。

Result:=StopMidi()

  这个函数的功能是停止当前正在播放的MIDI音乐。参数为VOID型。

1、 执行界面预览,如图3.1



图3.1 范例程序执行效果


2、程序的流程图,如图3.2



图3.2 范例程序流程图

3、 操作步骤:

1) 新建一个文件,并调入外部函数MidiLoop.U32的相关扩展函数,如图3.3



图 3.3 调入MidiLoop.U32的相关扩展函数
2) 加入一个计算机,设置运行窗口的大小,计算图标的内容为:

ResizeWindow(320,240) ------ResizeWindow是一个系统函数,设置窗口的大小

3) 设置背景图标“Background”。

4) 开始播放MIDI声音文件,在计算图标里写上:

stop:=0 -----stop为自定义变量,用来控制MIDI

LoopMidi(FileLocation^"midi.mid") -----程序开始播放MIDI背景音乐

5) 设置对MIDI音乐的开关控制以及程序的退出。分别建立三个Button按钮响应交互,返回类型设置如图3.2。

在“Stop Midi”按钮响应交互计算图标里输入代码:

stop:=1

StopMidi()

在“Replay Midi”按钮响应交互计算图标里输入代码:

if stop=1 then

LoopMidi(FileLocation^"midi.mid")

stop:=0

end if

在“Exit”按钮响应交互计算图标里输入代码:

StopMidi() ------停止MIDI背景音乐播放

Quit() ------退出程序

6) 存盘完成。



签名
"http://cqimg.focus.cn/upload/photos/40402/c5J5VlVd.gif"

2007-10-24 16:29:41 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com