FLASH CS4 控制音频播放

FLASH CS4 控制音频播放

2023年7月14日发(作者:)

FLASH CS4 控制音频播放

在之前的章节中,已介绍了如何在Flash中加载声音。Flash CS4除了加载声音外,还可以对声音播放进度进行一系列的控制,如播放、暂停、停止。除此之外,还可以控制音量的大小。

1.停止声音

在之前的章节中已经介绍了如何在Flash中播放音频。在制作音频播放器时,除了需要播放音频外,还需要控制音频的停止。这需要使用到包中的SoundMixer类。

SoundMixer是一种控制全局的类,其可以控制由Flash影片播放的所有声音流,并且拥有多种全局控制的属性和方法。也是说,SoundMixer并不控制动态创建的Sound对象。

SoundMixer常用的属性主要有两种:

bufferTime 该属性的作用是设置声音流在开始传输前预加载的时间,单位为秒。

soundTransform 该属性的作用是为SoundMixer对象引入控制全局的SoundTransform对象。

SoundMixer的这两种属性都属于静态方法,仅可以操作嵌入到Flash影片中的声音,无法对在ActionScript中动态创建的声音进行操作。除了以上的属性外,SoundMixer还包含3种常用的方法。

areSoundsInaccessible() 确定是否因安全限制而无法访问声音

computeSpectrum() 获取当前声音的波形快照,并将其放在指定的ByteArray对象中。

stopAll() 停止当前播放的所有声音。

例如,在一个播放器中,停止播放的按钮实例名称为stopBtn,则为其添加的停止播放代码如下。

ntListener(,stopMusic);

function stopMusic(event:MouseEvent):void{

l();

}

需要注意的是,在使用stopAll()方法时,所引用的SoundMixer类本身,而不是该类的实例。

2.暂停与继续

除了停止声音播放外,很多播放器还可以实现暂停声音播放,当需要时再从当前暂停的位置继续播放。在Flash中,暂停声音播放需要使用包中的SoundChannel类。

SoundChannel类的作用主要是控制Flash影片中的声道,监控声道的幅度、播放的进度等。通过其Position属性可以记录当前播放的时间,然后使用stop()方法停止该声道的播放。

当需要声音继续播放时,则可以为Sound类的play()方法加参数,使其继续按照记录的已播放时间播放声音。

例如,获取名为3的外部声音文件,实现控制该文件的暂停播放和继续播放,代码如下。

var music:Sound= new Sound(new URLRequest("3"));

//加载外部声音

var channel:SoundChannel;

//声明声道

var pauseBtn:SimpleButton=new SimpleButton();

//实例化暂停按钮

var playBtn:SimpleButton=new SimpleButton(); //实例化播放按钮

var onPause:Boolean=false;

//声明变量onPause判断声音是否暂停

var position:int

//声明变量position作为播放进度

ntListener(,playMusic);

//为播放按钮添加鼠标单击事件

ntListener(,pauseMusic);

//为暂停按钮添加鼠标单击事件

function playMusic(event:MouseEvent):void{

//播放按钮的事件函数

if(onPause==false){

//判断如果非暂停状态

channel=();

//直接在声道中播放音乐

}else{

//否则(处于暂停状态)

channel=(position);

//则从已播放的进度播放音乐

onPause=false;

//取消暂停的状态

}

}

function pauseMusic(event:MouseEvent):void{

//暂停按钮的事件函数

if(onPause==false){

//判断,在非暂停状态

position=on;

//记录当前播放进度

();

//停止声音播放

onPause=true;

//确认暂停的状态

}

}

3.读取声音文件的附加信息

通常在网上下载或从CD中抓轨获得的mp3音乐都包含了音乐的附加信息(又称ID3),如演出者、作者、专辑名称和发行年代等信息。这些信息以标签的形式存储在mp3文件的开头。ActionScript可以方便地读取这些信息。读取mp3音乐的ID3信息可以使用包中的ID3Info类。ID3Info类共有7种属性。

album 歌曲所在专辑名称

artist 艺术家名称

comment 录制该音乐的相关注解

genre 歌曲的流派 

songName 歌曲的名称

track 歌曲的音轨

year 歌曲录制的年份

读取这些信息可以使用如下的方法。

var music:Sound=new Sound(new URLRequest("3"));

//实例化音乐

trace(me);

//输出歌曲名

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689299631a228079.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信