パッケージ | flash.media |
クラス | public final class AudioDeviceManager |
継承 | AudioDeviceManager EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 27, AIR 28 - (Desktop) |
ある AIR アプリケーションから選択されたオーディオデバイスは、他の AIR アプリケーションまたは Flash Player インスタンスからのオーディオには影響しません。
プライバシーの制限
AudioDeviceManager API は、User Invoked Action(UIA)制限下にあります。つまり、一部のユーザー操作でのみ呼び出すことができます。この API がユーザー操作以外によって呼び出された場合は、Flash Player からランタイムエラー IllegalOperationError およびエラーコード 2176 が返されます。AIR アプリケーションの場合、UIA チェックは、ネットワーク経由でホストされる外部の SWF/HTML を読み込む際に適用されます。外部から読み込まれた 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 | プロパティ |
deviceNames:Array
[読み取り専用]
使用可能なすべてのオーディオ出力デバイスの名前を含むストリングの配列です。この配列により、各オーディオ出力デバイスの 0 から始まるインデックスと、システム上の各オーディオ出力デバイスの数を調べることができます(AudioDeviceManager.deviceNames.length
プロパティ)。詳しくは、Array クラスのエントリを参照してください。このデバイス名のリストは、オーディオ出力設定のリストと同じです。
Chrome ブラウザー向けの注意:オーディオ出力とオーディオ入力が同じ権限を共有し、オーディオ入力権限の警告のみがユーザーに表示されるので、オーディオ出力デバイスを列挙するために、ユーザーが Chrome にマイクへのアクセス権を付与する必要があります。
実装
public function get deviceNames():Array
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, 10:34 AM Z