包 | flash.media |
类 | public final class AudioDeviceManager |
继承 | AudioDeviceManager EventDispatcher Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 27, AIR 28 - (Desktop) |
从一个 AIR 应用程序中所选的音频设备不会影响其他 AIR 应用程序或 Flash Player 实例中的音频。
隐私限制
AudioDeviceManager API 受用户调用操作 (UIA) 限制,即,只能通过某些用户交互调用它。如果此 API 不是由用户交互调用,则 Flash Player 会引发运行时错误 IllegalOperationError,错误代码设置为 2176。对于 AIR 应用程序,当我们加载位于托管在网络中的外部 SWF/HTML 时,将应用 UIA 检查。如果外部加载的 SWF/HTML 尝试不使用任何用户调用的操作更改音频输出设备,则 AIR 运行时会引发错误 IllegalOperationError,错误代码为 2176。
访问 AudioDeviceManager 实例
AudioDeviceManager 实例是一个对象,它与 Flash Player 的音频输出设置保持同步。客户端应使用 AudioDeviceManager.audioDeviceManager
获取对此单个对象的引用。
获取当前在系统上提供的音频设备
使用 AudioDeviceManager.deviceNames
获取系统中所有可用的音频输出设备。
获取当前所选音频设备
使用 AudioDeviceManager.selectedDeviceIndex
查找当前使用的音频输出设备的索引。使用此索引查找设备列表从 AudioDeviceManager.deviceNames
返回的设备名称
选择一个音频输出设备
将 AudioDeviceManager.selectedDeviceIndex
设置为其他值可以使该设备成为当前所选音频播放设备。
监视音频输出设备更改
由于用户从 Flash Player 的设置 UI,内容设置 AudioDeviceManager.selectedDeviceIndex
中选择了另一个设备,并且从系统中添加/删除了音频设备,因此音频输出设备可能会更改。客户端应用程序可以为事件注册侦听器:AudioOutputChangeEvent.AUDIO_OUTPUT_CHANGE
以在音频输出设备发生更改时接收通知。事件对象的 reason
属性指示触发此更改的方式。reason
属性有 2 个可能值:AudioOutputChangeReason.USER_SELECTION
指示用户通过 Flash Player 的设置 UI 选择另一个音频输出设备,或者内容设置 AudioDeviceManager.selectedDeviceIndex
。AudioOutputChangeReason.DEVICE_CHANGE
指示已从系统中添加或删除音频输出设备。
属性 | 由以下参数定义 | ||
---|---|---|---|
audioDeviceManager : AudioDeviceManager [静态] [只读]
AudioDeviceManager 对象的单一实例。 | AudioDeviceManager | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
deviceNames : Array [只读]
包含所有可用音频输出设备的名称的字符串数组。 | AudioDeviceManager | ||
isSupported : Boolean [静态] [只读]
AudioDeviceManager 是否已启用。 | AudioDeviceManager | ||
selectedDeviceIndex : int
当前所选音频输出设备的索引,如 AudioDeviceManager.deviceNames 返回的数组中所反映。 | AudioDeviceManager |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
出于以下原因更改音频输出设备时进行调度:(1) 用户选择 - 用户通过 Flash Player 设置 UI 内容设置 AudioDeviceManager.selectedDeviceIndex 进行选择 (2) 设备更改 - 从系统中添加/删除了音频设备。 | AudioDeviceManager | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher |
audioDeviceManager | 属性 |
audioDeviceManager:AudioDeviceManager
[只读] AudioDeviceManager 对象的单一实例。
实现
public static function get audioDeviceManager():AudioDeviceManager
deviceNames | 属性 |
isSupported | 属性 |
selectedDeviceIndex | 属性 |
audioOutputChange | 事件 |
flash.events.AudioOutputChangeEvent
属性 AudioOutputChangeEvent.type =
flash.events.AudioOutputChangeEvent.AUDIO_OUTPUT_CHANGE
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 27, AIR 28 - (Desktop) |
出于以下原因更改音频输出设备时进行调度:(1) 用户选择 - 用户通过 Flash Player 设置 UI 内容设置 AudioDeviceManager.selectedDeviceIndex
进行选择 (2) 设备更改 - 从系统中添加/删除了音频设备。
检查此事件的 reason
属性以查明导致更改的原因。可能的原因是:AudioOutputChangeReason.USER_SELECTION
AudioOutputChangeReason.DEVICE_CHANGE
。
AudioOutputchangeEvent
事件对象的 type
属性值。
Tue Jun 12 2018, 11:04 AM Z