flash.media
public class Sound
继承Sound Inheritance EventDispatcher Inheritance Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

Sound 类允许您在应用程序中使用声音。 使用 Sound 类可以创建新的 Sound 对象、将外部 MP3 文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据,如有关流中字节数和 ID3 元数据的信息。 可通过以下项对声音执行更精细的控制:声音源(声音的 SoundChannel 或 Microphone 对象)和 SoundTransform 类中用于控制向计算机扬声器输出声音的属性。

若要控制嵌入到 SWF 文件的声音,请使用 SoundMixer 类中的属性。

注意:ActionScript 3.0 的 Sound API 与 ActionScript 2.0 不同。在 ActionScript 3.0 中,将无法采用声音对象并在层次结构中对其进行排列以控制其属性。

使用此类时,请考虑 Flash Player 安全模型:

有关详细信息,请参阅以下部分:

查看示例

另请参见

Microphone
SoundChannel
SoundMixer
SoundTransform
声音处理基础知识



公共 属性
 属性定义方
  bytesLoaded : uint
[read-only] 返回此声音对象中当前可用的字节数。
Sound
  bytesTotal : int
[read-only] 返回此声音对象中总的字节数。
Sound
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  id3 : ID3Info
[read-only] 提供对作为 MP3 文件一部分的元数据的访问。
Sound
  isBuffering : Boolean
[read-only] 返回外部 MP3 文件的缓冲状态。
Sound
  length : Number
[read-only] 当前声音的长度(以毫秒为单位)。
Sound
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
  url : String
[read-only] 从中加载此声音的 URL。
Sound
公共 方法
 方法定义方
  
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
创建一个新的 Sound 对象。
Sound
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
关闭该流,从而停止所有数据的下载。
Sound
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
load(stream:URLRequest, context:SoundLoaderContext = null):void
启动从指定 URL 加载外部 MP3 文件的过程。
Sound
  
play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel
生成一个新的 SoundChannel 对象来回放该声音。
Sound
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件摘要定义方
 Inherited Flash Player 获得操作系统焦点并变为活动状态时调度。EventDispatcher
   成功加载数据后调度。Sound
 Inherited Flash Player 失去操作系统焦点并变为非活动状态时调度。EventDispatcher
  
id3
在存在可用于 MP3 声音的 ID3 数据时由 Sound 对象调度。Sound
   在出现输入/输出错误并由此导致加载操作失败时调度。Sound
   在加载操作开始时调度。Sound
   在加载操作进行过程中接收到数据时调度。Sound
属性详细信息
bytesLoaded属性
bytesLoaded:uint  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

返回此声音对象中当前可用的字节数。 这通常只对从外部加载的文件有用。


实现
    public function get bytesLoaded():uint
bytesTotal属性 
bytesTotal:int  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

返回此声音对象中总的字节数。


实现
    public function get bytesTotal():int
id3属性 
id3:ID3Info  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

提供对作为 MP3 文件一部分的元数据的访问。

MP3 声音文件可以包含 ID3 标签,ID3 标签提供有关该文件的元数据。 如果使用 Sound.load() 方法加载的 MP3 声音包含 ID3 标签,则可以查询这些属性。 只支持使用 UTF-8 字符集的 ID3 标签。

Flash Player 9 及更高版本支持 ID3 2.0 标签,特别是 2.3 和 2.4。以下各表列出了标准 ID3 2.0 标签以及这些标签所表示内容的类型。 Sound.id3 属性通过 my_sound.id3.COMMmy_sound.id3.TIME 等格式提供对这些标记的访问权限。 第一个表描述了可通过 ID3 2.0 属性名称或 ActionScript 属性名称进行访问的标签。 第二个表描述了在 ActionScript 中受支持但不具有预定义属性的 ID3 标签。

ID3 2.0 标签对应的 ActionScript 属性
COMMSound.id3.comment
TALBSound.id3.album
TCONSound.id3.genre
TIT2Sound.id3.songName
TPE1Sound.id3.artist
TRCKSound.id3.track
TYERSound.id3.year

下表描述了在 ActionScript 中受支持但不具有预定义属性的 ID3 标签。 通过调用 mySound.id3.TFLTmySound.id3.TIME 等来访问它们。

属性Description
TFLT文件类型
TIME时间
TIT1内容组说明
TIT2标题/歌曲名称/内容说明
TIT3副标题/说明精选
TKEY初始密钥
TLAN语言
TLEN长度
TMED媒体类型
TOAL原始唱片/影片/演出标题
TOFN原始文件名
TOLY原词作者/乐谱作者
TOPE原始艺术家/表演者
TORY原始发行年份
TOWN文件所有者/获得授权者
TPE1主要表演者/独奏(独唱)
TPE2乐队/管弦乐队/伴奏
TPE3指挥/主要演奏者
TPE4翻译、混录员或以其它方式进行修改的人员
TPOS歌曲集部分
TPUB发行者
TRCK歌曲集中的曲目编号/位置
TRDA录制日期
TRSNInternet 无线电台名称
TRSOInternet 无线电台所有者
TSIZ大小
TSRCISRC(国际标准音像制品编码)
TSSE用于编码的软件/硬件和设置
TYER年份
WXXXURL 链接帧

使用此属性时,请考虑 Flash Player 安全模型:

有关详细信息,请参阅以下部分:


实现
    public function get id3():ID3Info

另请参见

isBuffering属性 
isBuffering:Boolean  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

返回外部 MP3 文件的缓冲状态。 如果值为 true,则在对象等待获取更多数据时,当前将会暂停任何回放。


实现
    public function get isBuffering():Boolean
length属性 
length:Number  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

当前声音的长度(以毫秒为单位)。


实现
    public function get length():Number
url属性 
url:String  [read-only]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

从中加载此声音的 URL。 此属性只适用于使用 Sound.load() 方法加载的 Sound 对象。 对于与 SWF 库的声音资源关联的 Sound 对象,url 属性的值为 null

首次调用 Sound.load() 时,url 属性最初具有 null 值,因为最终 URL 未知。 只要从 Sound 对象中调度了 open 事件,url 属性就会具有非空值。

url 属性包含已从其中加载了声音的最终、绝对 URL。 url 的值通常与传递给 Sound.load()stream 参数的值相同。 但是,如果已将相对 URL 传递给 Sound.load(),则 url 属性的值将表示绝对 URL。 此外,如果 HTTP 服务器重定向原始 URL 请求,url 属性的值将反映从其中实际下载声音文件的最终 URL。 这种报告绝对、最终 URL 的行为与 LoaderInfo.url 的行为等效。


实现
    public function get url():String

另请参见

构造函数详细信息
Sound()构造函数
public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

创建一个新的 Sound 对象。 如果将有效的 URLRequest 对象传递到 Sound 构造函数,该构造函数将自动调用 Sound 对象的 load() 函数。 如果未将有效的 URLRequest 对象传递到 Sound 构造函数,则必须自己调用 Sound 对象的 load() 函数,否则将不加载流。

一旦对某个 Sound 对象调用了 load(),就不能再将另一个声音文件加载到该 Sound 对象中。 若要加载另一个声音文件,请创建新的 Sound 对象。

参数
stream:URLRequest (default = null) — 指向外部 MP3 文件的 URL。
 
context:SoundLoaderContext (default = null) — MP3 数据保留在 Sound 对象的缓冲区中的最小毫秒数。 在开始回放以及在网络中断后继续回放之前,Sound 对象将一直等待直至至少拥有这一数量的数据为止。 默认值为 1000(1 秒)。
方法详细信息
close()方法
public function close():void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

关闭该流,从而停止所有数据的下载。 调用 close() 方法之后,将无法从流中读取数据。


引发
IOError — 无法关闭该流,或者该流未打开。
load()方法 
public function load(stream:URLRequest, context:SoundLoaderContext = null):void

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

启动从指定 URL 加载外部 MP3 文件的过程。 如果为 Sound 构造函数提供有效的 URLRequest 对象,该构造函数将为您调用 Sound.load()。 只有在未将有效的 URLRequest 对象传递到 Sound 构造函数或传递了 null 值的情况下,才需要自己调用 Sound.load()

一旦对某个 Sound 对象调用了 load(),就不能再将另一个声音文件加载到该 Sound 对象中。 若要加载另一个声音文件,请创建新的 Sound 对象。

使用此方法时,请考虑 Flash Player 安全模型:

有关详细信息,请参阅以下部分:

参数

stream:URLRequest — 指向外部 MP3 文件的 URL。
 
context:SoundLoaderContext (default = null) — MP3 数据保留在 Sound 对象的缓冲区中的最小毫秒数。 在开始回放以及在网络中断后继续回放之前,Sound 对象将一直等待直至至少拥有这一数量的数据为止。 默认值为 1000(1 秒)。


引发
IOError — 网络错误导致加载失败。
 
SecurityError — 本地不受信任的 SWF 文件可能无法与 Internet 进行通信。 您可以通过将此 SWF 文件重新分类为只能与远程内容交互或受信任来解决此问题。

另请参见

play()方法 
public function play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

生成一个新的 SoundChannel 对象来回放该声音。 此方法返回 SoundChannel 对象,访问该对象可停止声音并监控音量。 (若要控制音量、平移和平衡,请访问分配给声道的 SoundTransform 对象。)

参数

startTime:Number (default = 0) — 应开始回放的初始位置(以毫秒为单位)。
 
loops:int (default = 0) — 定义在声道停止回放之前,声音循环回 startTime 值的次数。
 
sndTransform:SoundTransform (default = null) — 分配给该声道的初始 SoundTransform 对象。

返回
SoundChannel — SoundChannel 对象,用于控制声音。 如果没有声卡或用完了可用的声道,此方法将返回 null。 一次最多可以使用 32 个声道。

另请参见

事件详细信息
complete 事件
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.COMPLETE

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

成功加载数据后调度。

定义 complete 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target已完成加载的网络对象。

另请参见

id3 事件  
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.ID3

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

在存在可用于 MP3 声音的 ID3 数据时由 Sound 对象调度。

定义 id3 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target加载 MP3 的 Sound 对象,ID3 数据现在可用于此对象。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

另请参见

ioError 事件  
事件对象类型: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

在出现输入/输出错误并由此导致加载操作失败时调度。

定义 ioError 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target发生输入/输出错误的网络对象。
text要显示为错误消息的文本。

另请参见

open 事件  
事件对象类型: flash.events.Event
Event.type property = flash.events.Event.OPEN

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

在加载操作开始时调度。

定义 open 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target已打开连接的网络对象。

另请参见

progress 事件  
事件对象类型: flash.events.ProgressEvent
ProgressEvent.type property = flash.events.ProgressEvent.PROGRESS

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

在加载操作进行过程中接收到数据时调度。

定义 progress 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
bytesLoaded在侦听器处理事件时加载的项数或字节数。
bytesTotal如果加载进程成功,最终将加载的项目或字节总数。
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target报告进度的网络对象。

另请参见

示例 如何使用示例

以下示例显示有关打开并播放 MP3 文件时发生的声音事件的信息。 若要运行此示例,请将一个名为 MySound.mp3 的文件放在 SWF 文件所在的同一目录中。
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;

    public class SoundExample extends Sprite {
        private var url:String = "MySound.mp3";
        private var song:SoundChannel;

        public function SoundExample() {
            var request:URLRequest = new URLRequest(url);
            var soundFactory:Sound = new Sound();
            soundFactory.addEventListener(Event.COMPLETE, completeHandler);
            soundFactory.addEventListener(Event.ID3, id3Handler);
            soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            soundFactory.load(request);
            song = soundFactory.play();
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function id3Handler(event:Event):void {
            trace("id3Handler: " + event);
        }

        private function ioErrorHandler(event:Event):void {
            trace("ioErrorHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: " + event);
        }
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/media/Sound.html