• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
随机循环选择播放MIDI背景音乐
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
随机循环选择播放MIDI背景音乐
软件发布 随机循环选择播放MIDI背景音乐
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 多媒体类 >> Authorware >> 随机循环选择播放MIDI背景音乐

随机循环选择播放MIDI背景音乐

添加时间: 2007-7-5 4:51:57  作者: 第九软件网   阅读次数:55   来源: http://www.d9soft.com

        我们在上面介绍的“循环播放MIDI背景音乐”范例中只能播放一首MIDI音乐对象,这样显的比较单调,如果我们要实现多首MIDI背景音乐的随机循环选择播放,能实现吗?答案是肯定的。

  在这里我们要介绍另外一个外部函数a5wmme.U32。这个函数包括各种多媒体的播放控制函数,如动画、CD、MIDI、WAV等的控制函数,其中我们可以利用的控制MIDI音乐播放的函数有:

MIDIPause()

MIDIPlay(fileName, tempo, wait)

MIDIPlaying()

MIDIPlaySegment(fileName, tempo, fromSeconds, forSeconds, wait)

MIDIResume()

MIDIStop()

a5wmme.U32对MIDI音乐的控制函数比起MidiLoop.U32可就强大多了。

  在本范例中,有两个核心问题:一是如何实现随机选择不同的MIDI音乐的问题,二是如何让MIDI循环播放。解决第一个问题的方法是以所有要播放的MIDI声音文件名“创建”一个播放列表,这里“创建”的列表并不是真正存在的播放列表,而是通过系统函数“Catalog”将存放MIDI音乐的文件夹中的文件名以字符串的形式赋给变量,即所谓的播放列表,最后通过系统函数“Random”随机选择“播放列表”中的MIDI文件进行播放。而解决第二个问题的方法是利用了永久型的条件交互的一点技巧而已。一起来看看如何实现吧!

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



图3.4 范例程序执行效果

2、 程序的流程图如图3.5



图3.5 范例程序流程图
3、操作步骤:

1) 新建一个文件,并调入外部函数a5wmme.U32的相关扩展函数:

MIDIPlay(fileName, tempo, wait)

这个函数的功能即播放指定的MIDI音乐文件,其中“filename”参数即指定播放的MIDI音乐文件名;“tempo”参数是播放MIDI的速率,例如tempo =100表示以正常的速率播放MIDI;“wait”参数是播放MIDI的等待时间,例如wait=0即为立刻播放指定的MIDI音乐。

MIDIPlaying()

判断当前是否正在播放MIDI音乐,如果条件为真则返回“1”,条件为假则返回“0”

MIDIStop()

停止当前正在播放的MIDI音乐

2) 设置屏幕大小和背景,如图3.6和图3.7所示



图3.6 设置演示窗口大小



图3.7 设置范例的背景



图3.8 创建“播放列表”的内容

3) 创建“播放列表”,如图3.8,在计算图标中写入以下代码:

Midilist:=Catalog(FileLocation^"midi","f") ----把MIDI文件夹下的MIDI文件名

MidiNum:=LineCount(Midilist) ----赋值给字符串变量Midilist,实现

Midilist_Bak:=Midilist ----随机选择MIDI文件

MidiNum_Bak:=MidiNum

RamdonNum:=Random(1,MidiNum,1)

CurrentFile:=GetLine(Midilist,RamdonNum)

DeleteLine(Midilist,RamdonNum)

MidiNum:=MidiNum-1
4) 开始播放MIDI文件,并进行随机循环选择控制。

(1) 在交互“MidiLoop”右边添加一永久条件交互,条件为“~(MIDIPlaying()&Sec)”返回类型设置为“Return”,相关设置如图3.9所示;在计算图标里写入以下代码,如图3.10所示:

----判断恢复“播放列表”,即实现循环的目的

if MidiNum=0 then

Midilist:=Midilist_Bak

MidiNum:=MidiNum_Bak

end if

----继续随机选择播放新的MIDI文件

RamdonNum:=Random(1,MidiNum,1)

CurrentFile:=GetLine(Midilist,RamdonNum)

Midilist:=DeleteLine(Midilist,RamdonNum)

MidiNum:=MidiNum-1

MIDIPlay(FileLocation^"midi\\"^CurrentFile,100,0)



图3.9 永久条件的设置



图3.10 永久条件交互的执行内容

为什么要设置永久条件为“~(MIDIPlaying()&Sec)”呢?其实原理就是通过系统变量Sec的不断变化,迫使系统去检查整个表达式的值,当MIDI停止播放时,MIDIPlaying()返回“0”,条件表达式立刻变为真,系统自动执行计算图标“~(MIDIPlaying()&Sec)”里的相关内容,即播放下一首随机选择的MIDI音乐文件,从而实现了MIDI背景音乐的随机选择循环播放的功能。

(2)再在交互“Midiloop”的右边继续添加两个按钮响应交互“Next”和“Quit”,返回类型设置为“Return”。其中“Next”交互的作用是手动选择播放下一首MIDI,其实只要在它的计算图标里写上“MIDIStop()”即可实现,为什么?自己想一想。“Quit”按钮交互实现退出程序执行。

(3)在交互“Midiloop”流程的后面添加一计算图标“PlayMidi”,输入代码:

MIDIPlay(FileLocation^"midi\\"^CurrentFile,100,0)

不知道大家注意到程序的流程了没有,其实这才是系统最先播放执行的MIDI文件的程序处,程序开始播放MIDI音乐文件是从这里开始的,为什么?请参考“12.2.1 Try Again交互返回类型”章节的内容。

4、存盘完成,可以执行测试一下效果拉。

专题总结

  以上的两个范例你都可以作为模块套用在你的多媒体系统中,实现MIDI背景音乐的应用。这里值得一提的是MidiLoop.U32函数其实也是同时支持MP3格式的声音文件,使用方法和范例一相同,对于钟爱MP3的开发者不妨一试。

 

上下文章:

 

上一篇文章: AuthorwareXtras的分类和使用技巧(六) 下一篇文章: Authorware实战开发专题之制作Windows标准菜单方法

相关文章:

  • 牛人网友单枪匹马研制一款音乐网游
  • 暴雪联合著名交响乐团推出游戏音乐专辑
  • 是时候告别系统白屏 让窗口背景靓起来
  • 酷我音乐盒新版 高质量MP3随心下
  • 微软称用户可以选择不参加正版验证

相关软件:

  • 一听音乐盒 v1.5.7
  • 青苹果音乐播放器 v1.4
  • HDD硬盘播放器测试工具 1.0
  • 海啸媒体播放器 2.3.081023 超强版
  • 酷我音乐盒 2.0.7
  • 画质王(iCYPlayer)播放器 2008 1013 内部测试版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

多媒体类分类导航

  • 3ds Max
  • Authorware
  • Director
  • Maya
  • 多媒体其他

本类经典文章推荐

  • Authorware 6.0技巧与实例之六
  • Authorware实战开发专题之Authorw...
  • AuthorwareXtras的分类和使用技巧...
  • AuthorwareXtras的分类和使用技巧...
  • Authorware Xtras的分类和使用技巧...
  • 多种淡入淡出方法特点实现及对比
  • AuthorwareXtras的分类和使用技巧...
  • Authorware 6.0技巧与实例之十二
  • Authorware让按钮字体随心所欲
  • Authorware 6.0技巧与实例之四

Authorware阅读排行

  • 创建一个简单的通讯录程序
  • 用Authorware制作电子相册
  • Authorware小技巧精彩荟萃
  • Authorware实战开发专题之Authorw...
  • Authorware轻松的网络发布功能
  • Authorware Xtras的分类和使用技巧...
  • Authorware实战开发专题之Authorw...
  • 调节音量的大小
  • Authorware实现图片背景透明
  • Authorware7.0十大新功能

多媒体类阅读总排行

  • 3DS MAX教程:相机分类及设定
  • 3Dmax中角色动画初步之角色建模
  • 3DS MAX教程:贴图制作
  • 3DSMAX实例:制作特殊灯光特效
  • 3DS MAX教程:对象布尔运算
  • 3DS MAX教程三:提高兴趣篇
  • 3DS MAX系统配置及安装
  • 认识3DS MAX界面
  • 3DSMAX应用技巧之一口气一个足球
  • 3DS MAX教程:高级材质生成

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有