| window.runtime 属性 | window.runtime.flash.media.SoundMixer |
| 继承 | SoundMixer Object |
| 属性 | 定义方 | ||
|---|---|---|---|
| bufferTime : int [静态]
在开始传输嵌入的声音流之前,将其预加载到缓冲区中所用的秒数。 | SoundMixer | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
| soundTransform : SoundTransform [静态]
控制全局声音属性的 SoundTransform 对象。 | SoundMixer | ||
| 方法 | 定义方 | ||
|---|---|---|---|
areSoundsInaccessible():Boolean [静态]
确定是否因安全限制而无法访问任何声音。 | SoundMixer | ||
[静态]
获取当前声音波形的快照,并将其放在指定的 ByteArray 对象中。 | SoundMixer | ||
![]() | hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。 | Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。 | Object | |
[静态]
停止当前正在播放的所有声音。 | SoundMixer | ||
![]() | toString():String
返回指定对象的字符串表示形式。 | Object | |
![]() | valueOf():Object
返回指定对象的原始值。 | Object | |
| bufferTime | 属性 |
bufferTime:int [读写] 在开始传输嵌入的声音流之前,将其预加载到缓冲区中所用的秒数。 除非实现了一个跨域策略文件,否则位于其他域的文件中的代码将无法访问已加载声音中的数据(包括其缓冲时间)。但是,在 AIR 应用程序中应用程序安全沙箱中,代码可以访问来自任何源的声音文件中的数据。有关安全性和声音的详细信息,请参阅 Sound 类说明。
SoundMixer.bufferTime 属性只会影响 SWF 中嵌入声音流的缓冲时间,该属性与动态创建的 Sound 对象(即在 ActionScript 中创建的 Sound 对象)无关。SoundMixer.bufferTime 的值无法覆盖或设置传递到 Sound.load() 方法的 SoundLoaderContext 对象中指定的缓冲时间默认值。
另请参见
| soundTransform | 属性 |
soundTransform:SoundTransform [读写] 控制全局声音属性的 SoundTransform 对象。SoundTransform 对象包含用于设置音量、平移、左扬声器指定和右扬声器指定的属性。在此属性中使用的 SoundTransform 对象提供最终声音设置,这些设置将在应用了任何个别声音设置之后应用于所有声音。
另请参见
| areSoundsInaccessible | () | 方法 |
function areSoundsInaccessible():Boolean确定是否因安全限制而无法访问任何声音。 例如,如果声音所在的服务器没有跨域策略文件(该文件用于授予对该域的域访问权限),则无法访问从调用此方法的内容域以外的域中加载的声音。仍然可以加载和播放声音,但无法对不可访问的声音执行低级操作,如获取声音的 ID3 元数据。
对于应用程序安全沙箱中的 AIR 应用程序内容,调用此方法始终返回 false。应用程序安全沙箱中的内容可以访问所有声音(包括从其他域加载的声音)。
Boolean — 布尔值的字符串表示形式。
|
另请参见
| computeSpectrum | () | 方法 |
function computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void
获取当前声音波形的快照,并将其放在指定的 ByteArray 对象中。这些值已设置为标准浮点值(范围为 -1.0 到 1.0)格式。新值覆盖了传递到 outputArray 参数的 ByteArray 对象。创建的 ByteArray 对象的大小固定为 512 个浮点值,其中前 256 个值表示左声道,后 256 个值表示右声道。
注意:此方法受本地文件安全性限制和跨域加载限制的约束。如果正在使用本地文件或从服务器(该服务器与执行调用的内容在不同的域中)中加载的声音,则可能需要通过跨域策略文件来解决沙箱限制问题。有关详细信息,请参阅 Sound 类说明。 此外,此方法无法用于从 RTMP 流中提取数据,即使与 RTMP 服务器位于相同域中的内容调用此方法时也是如此。
在 Flash Player 9.0.115.0 及更高版本和 Adobe AIR 中,通过 RTMP 支持此方法。在 Flash Media Server 上,可以在服务器端脚本中控制对流的访问。有关详细信息,请参阅 Server-Side ActionScript Language Reference for Adobe Flash Media Server(《Adobe Flash Media Server 服务器端 ActionScript 语言参考》)中的 Client.audioSampleAccess 和 Client.videoSampleAccess 属性。
参数
outputArray:ByteArray — 用于保存与声音关联的值的 ByteArray 对象。如果由于安全性限制 (areSoundsInaccessible == true) 而导致任何声音不可用,则 outputArray 对象将保持不变。如果停止了所有声音,则用零填充 outputArray 对象。
| |
FFTMode:Boolean (default = false) — 一个用于指示是否首先对声音数据执行 Fourier 转换的布尔值。将此参数设置为 true 会导致方法返回的是频谱而不是原始声音波形。在频谱中,左侧表示的是低频,右侧表示的是高频。
| |
stretchFactor:int (default = 0) — 声音采样的分辨率。如果将 stretchFactor 值设置为 0,则会按 44.1 KHz 对数据进行采样;如果值为 1,则按 22.05 KHz 对数据进行采样;如果值为 2,则按 11.025 KHz 对数据进行采样;依此类推。
|
另请参见
| stopAll | () | 方法 |
function stopAll():void停止当前正在播放的所有声音。
在使用此属性时,请考虑以下安全模型:
SoundMixer.stopAll() 方法只会停止与调用此方法的对象在相同安全沙箱中的声音。任何声音回放如果不是从与调用对象相同的沙箱中启动的,则不会停止这样的声音。load() 方法加载声音时,可指定 context 参数,该参数为一个 SoundLoaderContext 对象。如果将 SoundLoaderContext 对象的 checkPolicyFile 属性设为 true,则 Flash Player 或 Adobe AIR 将在从其中加载该声音的服务器上检查跨域策略文件是否存在。如果该服务器具有跨域策略文件,且该文件允许访问执行调用的内容域,则该文件可使用 SoundMixer.stopAll() 方法停止加载的声音;否则就不可以。但在 Adobe AIR 中,application 安全沙箱中的内容(使用 AIR 应用程序安装的内容)不受这些安全限制的约束。
有关详细信息,请参阅以下部分: