12.1.4 加载和播放声音

来源:互联网 发布:华南师范网络自助平台 编辑:程序博客网 时间:2024/05/02 00:29

  声音的支持在早期的Flash中就已经存在。由于音乐在娱乐应用中的重要地位,作为网络富媒体的先锋,Flash长期不遗余力的推进脚本语言对声音的功能支持。

目前支持四种形式的声音数据:

Ø         在运行时加载的外部声音文件。

Ø         在应用程序的SWF文件中嵌入的声音资源。

Ø         来自连接到用户系统上的麦克风的声音数据。

Ø         从远程媒体服务器流式传输的声音数据,这种声音数据常见于网络广播。

ActionScript 3.0中,声音播放和控制的类主要集中在flash.media包中。其中,最主要的声音类是Sound类。使用Sound类处理声音加载、管理基本声音属性,以及启动声音播放。

加载声音文件前,需要首先创建一个URLRequest对象,该对象保存声音文件的地址。将URLRequest对象作为参数传递给Sound类的load()方法。

var soundpath:URLRequest=new URLRequest();

//声音数据地址

soundpath.url="sounddata/sample.mp3";

 

//新建声音对象

var mysound:Sound=new Sound();

//加载外部声音数据

mysound.load(soundpath);

由于声音的加载是一个异步过程,因此利用事件响应,可以安全的在声音加载后播放该文件。当Sound类加载完成后,FlashPlayer会发送Event.COMPLETE消息。

//添加加载完成侦听

mysound.addEventListener(Event.COMPLETE onSoundLoaded);

 

//事件侦听函数

function onSoundLoaded(event:Event):void

{

       var localSound:Sound = event.target as Sound;

       localSound.play();

         trace("load complete");

}

运行程序,如果对应的声音文件存在,则FlashPlayer就可以加载并播放该声音文件了。