包 | mx.effects |
类 | public class SoundEffect |
继承 | SoundEffect Effect EventDispatcher Object |
可以使用 source
属性指定 MP3 文件。如果已使用 Embed
关键字嵌入 MP3 文件,即可将 MP3 文件的 Class 对象传递给 source
属性。否则,为 MP3 文件指定完整的 URL。
The <mx:SoundEffect>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:SoundEffect Properties id="ID" autoLoad="true|false" bufferTime="1000" loops="0" panEasingFunction="" panFrom="0" source="" startTime="0" useDuration="true|false" volumeEasingFunction="true|false" volumeTo="1" Events complete="No default" id3="No default" ioError="No default" progress="No default" />
另请参见
属性 | 定义方 | ||
---|---|---|---|
autoLoad : Boolean 如果为 true,则在指定 source 时加载 MP3 文件。 | SoundEffect | ||
bufferTime : Number = 1000 SoundEffect 类使用内部 Sound 对象来控制 MP3 文件。 | SoundEffect | ||
className : String [只读 (read-only)] 效果类的名称,如“Fade”。 | Effect | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
customFilter : EffectTargetFilter 指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | Effect | ||
duration : Number 效果的持续时间(以毫秒为单位)。 | Effect | ||
effectTargetHost : IEffectTargetHost 一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | Effect | ||
filter : String 指定用于过滤效果目标的算法。 | Effect | ||
hideFocusRing : Boolean 确定在开始播放效果时,效果是否应隐藏对焦环。 | Effect | ||
instanceClass : Class 一个 Class 类型的对象,用于指定此效果类的效果实例类。 | Effect | ||
isLoading : Boolean [只读 (read-only)] 如果已加载 MP3,则此属性为 true。 | SoundEffect | ||
isPlaying : Boolean [只读 (read-only)] 一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | Effect | ||
loops : int = 0 循环模式下播放该声音的次数,其中值 0 表示此效果播放一次,值 1 表示此效果播放两次,依此类推。 | SoundEffect | ||
panEasingFunction : Function 均衡效果的缓动函数。 | SoundEffect | ||
panFrom : Number Sound 对象的初始平移。 | SoundEffect | ||
panTo : Number Sound 对象的最终平移。 | SoundEffect | ||
perElementOffset : Number 在效果的第一个目标之后,其它效果目标的附加延迟(以毫秒为单位)。 | Effect | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
relevantProperties : Array 一个属性名称 Array,执行过滤时将使用这些名称。 | Effect | ||
relevantStyles : Array 一个样式名称 Array,执行过滤时将使用这些名称。 | Effect | ||
repeatCount : int = 1 效果的重复次数。 | Effect | ||
repeatDelay : int = 0 重复播放效果前需要等待的时间(以毫秒为单位)。 | Effect | ||
sound : Sound [只读 (read-only)] 已加载 MP3 文件的 Sound 对象。 | SoundEffect | ||
source : Object 要播放的 MP3 文件的 URL 或类。 | SoundEffect | ||
startDelay : int = 0 开始播放效果前需要等待的时间(以毫秒为单位)。 | Effect | ||
startTime : Number = 0 MP3 文件中的初始位置(以毫秒为单位),应在此位置开始回放。 | SoundEffect | ||
suspendBackgroundProcessing : Boolean = false 如果为 true,则在播放效果时阻止所有背景处理。 | Effect | ||
target : Object 要应用此效果的 UIComponent 对象。 | Effect | ||
targets : Array 一个 UIComponent 对象 Array,这些对象都是效果的目标。 | Effect | ||
triggerEvent : Event 如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。 | Effect | ||
useDuration : Boolean = true 如果为 true,则会在 duration 属性中指定的时间过后停止效果。 | SoundEffect | ||
volumeEasingFunction : Function 音量效果的缓动函数。 | SoundEffect | ||
volumeFrom : Number Sound 对象的初始音量。 | SoundEffect | ||
volumeTo : Number Sound 对象的最终音量。 | SoundEffect |
方法 | 定义方 | ||
---|---|---|---|
SoundEffect(target:Object = null) 构造函数。 | SoundEffect | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。 | Effect | ||
捕获另一组目标相关属性的当前值。在运行数据更改效果时,此函数由 Flex 使用。 | Effect | ||
捕获效果目标上相关属性的当前值。 | Effect | ||
创建一个效果实例并对其进行初始化。 | Effect | ||
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。 | Effect | ||
删除实例中的事件侦听器,然后从实例列表中删除该实例。 | Effect | ||
将事件调度到事件流中。 | EventDispatcher | ||
中断当前正在播放的效果,立即跳转到该效果的末尾。 | Effect | ||
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性名称。 | Effect | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果 source 属性指向 URL,则加载 MP3。 | SoundEffect | ||
暂停效果,直到调用 resume() 方法。 | Effect | ||
开始播放效果。 | Effect | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
在效果由 pause() 方法暂停后继续播放效果。 | Effect | ||
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 | Effect | ||
设置循环操作动态属性的可用性。 | Object | ||
停止播放效果,使效果目标保持当前状态。 | Effect | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
事件 | 摘要 | 定义方 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
当声音文件完成加载时调度。 | SoundEffect | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
当效果完成播放时(既可以是效果实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。 | Effect | |||
当效果开始播放时调度。 | Effect | |||
当 ID3 数据可用于 MP3 声音文件时调度。 | SoundEffect | |||
在加载声音文件期间发生错误时调度。 | SoundEffect | |||
加载声音文件时定期调度。 | SoundEffect |
autoLoad | 属性 |
autoLoad:Boolean
[读写]
如果为 true
,则在指定 source
时加载 MP3 文件。
默认值为 true.
public function get autoLoad():Boolean
public function set autoLoad(value:Boolean):void
bufferTime | 属性 |
public var bufferTime:Number = 1000
SoundEffect 类使用内部 Sound 对象来控制 MP3 文件。此属性指定声音数据应在 Sound 对象的缓冲区中存储的最短时间(以毫秒为单位)。在开始回放以及在网络中断后继续回放之前,Sound 对象将一直等待,直至至少拥有这一数量的数据为止。
默认值为 1000.
isLoading | 属性 |
loops | 属性 |
public var loops:int = 0
循环模式下播放该声音的次数,其中值 0 表示此效果播放一次,值 1 表示此效果播放两次,依此类推。如果要重复播放 MP3 文件,也是使用 useDuration
属性的设置来确定回放时间。
duration
属性的优先级高于此属性的优先级。如果效果的持续时间短于播放一次声音所需的时间,则声音将不循环。
默认值为 0.
panEasingFunction | 属性 |
public var panEasingFunction:Function
均衡效果的缓动函数。使用此函数可在 panFrom
和 panTo
的值之间进行插补。
panFrom | 属性 |
public var panFrom:Number
Sound 对象的初始平移。此值介于 -1.0 和 1.0 之间,其中 -1.0 表示仅使用左声道,1.0 表示仅使用右声道,而 0.0 表示在两个声道间平均地均衡声音。
默认值为 0.0.
panTo | 属性 |
public var panTo:Number
Sound 对象的最终平移。此值介于 -1.0 和 1.0 之间,其中 -1.0 表示仅使用左声道,1.0 表示仅使用右声道,而 0.0 表示在两个声道间平均地均衡声音。
默认值为 0.0.
sound | 属性 |
source | 属性 |
source:Object
[读写]
要播放的 MP3 文件的 URL 或类。如果已使用 Embed
关键字嵌入 MP3 文件,即可将 MP3 文件的 Class 对象传递给 source
属性。否则,为 MP3 文件指定完整的 URL。
public function get source():Object
public function set source(value:Object):void
startTime | 属性 |
useDuration | 属性 |
public var useDuration:Boolean = true
如果为 true
,则会在 duration
属性中指定的时间过后停止效果。如果为 false
,则会在 MP3 完成播放或循环后停止效果。
默认值为 true.
volumeEasingFunction | 属性 |
public var volumeEasingFunction:Function
音量效果的缓动函数。此函数用于在 volumeFrom
和 volumeTo
的值之间进行插补。
volumeFrom | 属性 |
volumeTo | 属性 |
SoundEffect | () | 构造函数 |
public function SoundEffect(target:Object = null)
构造函数。
参数target:Object (default = null ) — 要使用此效果为其设置动画的 Object。 |
load | () | 方法 |
public function load():void
如果 source
属性指向 URL,则加载 MP3。
complete | 事件 |
flash.events.Event
flash.events.Event.COMPLETE
当声音文件完成加载时调度。
Event.COMPLETE
常量定义 complete
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 已完成加载的网络对象。 |
id3 | 事件 |
flash.events.Event
flash.events.Event.ID3
当 ID3 数据可用于 MP3 声音文件时调度。
Event.ID3
常量定义 id3
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
|
加载 MP3 的 Sound 对象,ID3 数据现在可用于此对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
ioError | 事件 |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
在加载声音文件期间发生错误时调度。
定义ioError
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles
|
false
|
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
errorID
| 与特定错误关联的引用编号(仅限 AIR)。 |
target
| 发生输入/输出错误的网络对象。 |
text
| 要显示为错误消息的文本。 |
progress | 事件 |
flash.events.ProgressEvent
flash.events.ProgressEvent.PROGRESS
加载声音文件时定期调度。
在事件对象内部,您可以访问当前已加载的字节数和要加载的总字节数。不保证一定会调度此事件,这意味着可能在未调度任何 progress
事件的情况下调度 complete
事件。
progress
事件对象的 type
属性值。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles
|
false
|
bytesLoaded
| 在侦听器处理事件时加载的项数或字节数。 |
bytesTotal
| 如果加载进程成功,最终将加载的项目或字节总数。 |
cancelable
|
false ;没有要取消的默认行为。
|
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target
| 报告进度的 对象。 |
<?xml version="1.0"?> <!-- Simple example to demonstrate the SoundEffect effect. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:SoundEffect id="mySounds" source="@Embed(source='assets/jazz.mp3')"/> <mx:Panel title="Sound Effect Example" width="75%" height="75%" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:Label width="100%" color="blue" text="Click on the phone to hear the sound effect."/> <mx:Image id="flex" source="@Embed(source='assets/Nokia_6630.png')" mouseDownEffect="{mySounds}"/> </mx:Panel> </mx:Application>