| パッケージ | flash.media |
| クラス | public final class Microphone |
| 継承 | Microphone EventDispatcher Object |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ビデオのキャプチャに関する詳細については、Camera クラスのトピックを参照してください。
重要 : ユーザーがマイクへのアクセスを許可するか拒否するかを選択できるように、Flash Player で [プライバシー] ダイアログボックスが表示されます。アプリケーションウィンドウのサイズは必ず 215×138 ピクセル以上に設定してください。これは、ダイアログボックスを表示するために必要な最小サイズです。
Microphone オブジェクトを作成または参照するには、Microphone.getMicrophone() メソッドを使用します。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| activityLevel : Number
[read-only]
マイクが検知している音量です。
| Microphone | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| gain : Number
マイクによるサウンドのゲイン (増幅率) は、シグナルが転送前にマイクで増幅される量を表します。
| Microphone | ||
| index : int
[read-only]
マイクのインデックスです。これは、Microphone.names から返される配列のインデックスと同じです。
| Microphone | ||
| muted : Boolean
[read-only]
ユーザーがマイクへのアクセスを拒否している (true) か、許可している (false) かを指定します。
| Microphone | ||
| name : String
[read-only]
サウンドキャプチャハードウェアから返される現在のサウンドキャプチャデバイスの名前です。
| Microphone | ||
| names : Array
[static] [read-only]
使用可能なすべてのサウンドキャプチャデバイスの名前を含むストリングの配列です。
| Microphone | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| rate : int
マイクのサウンドキャプチャレート (kHz) です。
| Microphone | ||
| silenceLevel : Number
[read-only]
マイクを有効化したり、activity イベントを送出するために必要な音量です。
| Microphone | ||
| silenceTimeout : int
[read-only]
マイクがサウンド検知を停止してから、activity イベントが送出されるまでの時間 (ミリ秒単位) です。
| Microphone | ||
| soundTransform : SoundTransform
loopback モードになっているとき、この microphone オブジェクトのサウンドを制御します。
| Microphone | ||
| useEchoSuppression : Boolean
[read-only]
エコー抑制が有効になっている場合は true、それ以外の場合は false に設定します。
| Microphone | ||
| メソッド | 定義元 | ||
|---|---|---|---|
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
![]() |
イベントをイベントフローに送出します。
| EventDispatcher | |
|
[static]
オーディオをキャプチャする Microphone オブジェクトの参照を返します。
| Microphone | ||
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
|
マイクによってキャプチャされたオーディオをローカルスピーカーに転送します。
| Microphone | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
|
サウンドと見なす最小入力レベルと、実際に無音状態が始まったと見なすまでの無音時間の長さを設定します。後者は省略可能です。
| Microphone | ||
|
オーディオコーデックのエコー抑制機能を使用するかどうかを指定します。
| Microphone | ||
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| マイクがセッションを開始または終了したときに送出されます。 | Microphone | |||
![]() | Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| マイクがそのステータスをレポートしたときに送出されます。 | Microphone | |||
| activityLevel | プロパティ |
activityLevel:Number [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクが検知している音量です。値の範囲は 0 (サウンドが検知されていない) ~ 100 (非常に大音量が検知されている) です。このプロパティ値に基づいて、Microphone.setSilenceLevel() メソッドに渡す適切な値を判断できます。
マイクを利用できる状態であっても、Microphone.getMicrophone() がまだ呼び出されていないためにまだ使用されていない場合は、このプロパティは -1 に設定されます。
public function get activityLevel():Number
関連項目
| gain | プロパティ |
gain:Number [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクによるサウンドのゲイン (増幅率) は、シグナルが転送前にマイクで増幅される量を表します。値 0 は 0 倍、つまりサウンドが送信されないことを示します。
この設定はステレオのボリュームつまみのようなものと考えることができます。0 はボリュームなしであり、50 は通常のボリュームです。50 より小さい値は通常よりも低いボリューム、50 より大きい値は通常よりも大きいボリュームを表します。有効な値は 0 ~ 100 で、デフォルト値は 50 です。ユーザーは [Macromedia Flash Player 設定] パネルの [マイク] を使用してこの値を変更できます。
public function get gain():Number
public function set gain(value:Number):void
関連項目
| index | プロパティ |
index:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクのインデックスです。これは、Microphone.names から返される配列のインデックスと同じです。
public function get index():int
関連項目
| muted | プロパティ |
muted:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ユーザーがマイクへのアクセスを拒否しているか (true)、許可しているか (false) を指定します。この値が変わると、status イベントが送出されます。詳細については、Microphone.getMicrophone() を参照してください。
public function get muted():Boolean
関連項目
| name | プロパティ |
name:String [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
サウンドキャプチャハードウェアから返される現在のサウンドキャプチャデバイスの名前です。
public function get name():String
関連項目
| names | プロパティ |
names:Array [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
使用可能なすべてのサウンドキャプチャデバイスの名前を含むストリングの配列です。この名前は、ユーザーに [Macromedia Flash Player 設定] パネルの [プライバシー] を表示せずに返されます。この配列により、各サウンドキャプチャデバイスの 0 から始まるインデックスと、システム上の各サウンドキャプチャデバイスの数 (Microphone.names.length プロパティ) を調べることができます。詳細については、Array クラスのエントリを参照してください。
Microphone.names プロパティを呼び出すと、ハードウェアを広範囲にわたって調べる必要があり、配列を作成するまでに数秒間かかることがあります。ほとんどの場合は、デフォルトのマイクをそのまま使用できます。
メモ :現在のマイクの名前を調べるには、name プロパティを使用します。
public static function get names():Array
関連項目
| rate | プロパティ |
rate:int [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクのサウンドキャプチャレート (kHz) です。許容される値は、使用するサウンドデバイスがサポートする 5、8、11、22、または 44 のいずれかです。
デフォルト値は 8 kHz ですが、サウンドキャプチャデバイスがこの値に対応している必要があります。対応していない場合、デフォルト値はそのサウンドキャプチャデバイスが対応している 8 kHz よりも高いレートのうち、8 kHz に最も近い値になります。通常は 11 kHz です。
public function get rate():int
public function set rate(value:int):void
| silenceLevel | プロパティ |
silenceLevel:Number [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクを有効化したり、activity イベントを送出するために必要な音量です。デフォルト値は 10 です。
public function get silenceLevel():Number
関連項目
| silenceTimeout | プロパティ |
silenceTimeout:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクがサウンド検知を停止してから、activity イベントが送出されるまでの時間 (ミリ秒単位) です。デフォルト値は 2000 (2 秒) です。
この値を設定するには、Microphone.setSilenceLevel() メソッドを使用します。
public function get silenceTimeout():int
関連項目
| soundTransform | プロパティ |
soundTransform:SoundTransform [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
loopback モードになっているとき、この microphone オブジェクトのサウンドを制御します。
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
| useEchoSuppression | プロパティ |
useEchoSuppression:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
エコー抑制が有効になっている場合は true、それ以外の場合は false に設定します。[Macromedia Flash Player 設定] パネルの [マイク] でユーザーが [エコーを減らす] を選択していない限り、デフォルト値は false です。
public function get useEchoSuppression():Boolean
関連項目
| getMicrophone | () | メソッド |
public static function getMicrophone(index:int = 0):Microphone
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
オーディオをキャプチャする Microphone オブジェクトの参照を返します。オーディオのキャプチャを開始するには、Microphone オブジェクトを NetStream オブジェクトに接続する必要があります。NetStream.attachAudio() のトピックを参照してください。
Microphone.get() を複数回呼び出すと、同じマイクが参照されます。このため、コードに mic1 = Microphone.get() という行と mic2 = Microphone.get() という行が含まれている場合、mic1 と mic2 は両方とも同じデフォルトのマイクを参照します。
現在の Microphone オブジェクトのインデックス値を取得するには、index プロパティを使用します。次に、Microphone クラスの他のメソッドにこの値を渡します。
通常は、index の値を渡さないでください。デフォルトのマイクを参照するには、単に、Microphone.get() メソッドを使用します。[マイク] パネルを使用することで、Flash Player で使用するデフォルトのマイクをユーザーが指定できます。index で値を渡すと、ユーザーが使用するのとは異なるマイクが参照される可能性があります。index を使用できるのは、アプリケーションで 2 つのマイクから同時にオーディオをキャプチャする場合など、特殊な場合です。
SWF ファイルで Microphone.get() メソッドから返されたマイクにアクセスしようとすると (NetStream.attachAudio() を呼び出すなど)、[プライバシー] ダイアログボックスが表示され、そのマイクへのアクセスを許可するか拒否するかをユーザーが選択できます。ステージのサイズは必ず 215 × 138 ピクセル以上に設定してください。これは、ダイアログボックスを表示するために必要な最小サイズです。
ユーザーがこのダイアログボックスに応答すると、ユーザーの応答を示す status イベントが送出されます。Microphone.muted プロパティを確認して、ユーザーがマイクへのアクセスを許可したか、拒否したかを判別することもできます。
Microphone.get() が null を返した場合は、マイクが別のアプリケーションで使用されているか、そのシステムにマイクがインストールされていません。マイクがインストールされているかどうかを調べるには、Microphones.names.length を使用します。Flash Player の [マイク] パネルを表示して、Microphone.get() で参照するマイクをユーザーが選択できるようにするには、Security.showSettings() を使用します。
パラメータ
index:int (default = 0) — マイクのインデックス値です。
|
Microphone |
status: — マイクがそのステータスをレポートしたときに送出されます。code プロパティの値が "Microphone.Muted" である場合、SWF ファイルのマイクへのアクセスをユーザーが拒否しています。code プロパティの値が "Microphone.Unmuted" である場合、SWF ファイルのマイクへのアクセスをユーザーが許可しています。 |
関連項目
| setLoopBack | () | メソッド |
public function setLoopBack(state:Boolean = true):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクによってキャプチャされたオーディオをローカルスピーカーに転送します。
パラメータ
state:Boolean (default = true) |
| setSilenceLevel | () | メソッド |
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
サウンドと見なす最小入力レベルと、実際に無音状態が始まったと見なすまでの無音時間の長さを設定します。後者は省略可能です。
silenceLevel に値 100 を渡します。こうすると、activity イベントが送出されることはありません。 Microphone.activityLevel を使います。 アクティビティ検知とは、人が話していることをオーディオレベルに基づいて検知する機能のことです。誰も話していないときは、関連付けられているオーディオストリームを送信する必要がないので、帯域幅を節約できます。この情報を利用して、ユーザー (または他の誰か) が話していないことを視覚的なフィードバックとして示すこともできます。
サイレンス値はアクティビティ値に直接対応します。完全なサイレンスのアクティビティ値は 0 です。継続的な大音量 (現在のゲインに基づいて設定できる大音量) のアクティビティ値は 100 です。ゲイン (増幅率) を適切に調整すると、話していないときにはアクティビティ値がサイレンス値よりも小さくなります。話しているときには、アクティビティ値はサイレンス値よりも大きくなります。
このメソッドは Camera.setMotionLevel() に似ています。どちらのメソッドも、activity イベントの送出タイミングを指定するために使用します。ただし、パブリッシュするストリームに対する影響という点では、この 2 つのメソッドは大きく異なります。
Camera.setMotionLevel() はモーションを検知し、使用する帯域幅には影響しないように設計されています。ビデオストリームでモーションが検知されない間も、ビデオは送信されます。Microphone.setSilenceLevel() は帯域幅を最適化するように設計されています。オーディオストリームが無音と考えられる場合には、オーディオデータは送信されません。代わりに、無音状態が始まったことを示すメッセージが送信されます。 パラメータ
silenceLevel:Number — マイクを有効化したり、activity イベントを送出するために必要な音量です。使用可能な値の範囲は 0 ~ 100 です。
|
|
timeout:int (default = -1) — アクティビティがない場合に、サウンドが停止したと判定して dispatch イベントを送出するまでの時間 (ミリ秒単位) です。デフォルト値は 2000 (2 秒) です (メモ : シグネチャで示される -1 のデフォルト値は、2000 を使用することを Flash Player に伝える内部値です)。
|
関連項目
| setUseEchoSuppression | () | メソッド |
public function setUseEchoSuppression(useEchoSuppression:Boolean):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
オーディオコーデックのエコー抑制機能を使用するかどうかを指定します。[Macromedia Flash Player 設定] パネルの [マイク] でユーザーが [エコーを減らす] を選択していない限り、デフォルト値は false です。
エコー抑制とは、スピーカーから出たサウンドが同じコンピュータのマイクによって拾われるオーディオフィードバックの影響を減らす機能のことです。これは、フィードバックを完全に除去するエコー除去機能とは異なります。
一般に、キャプチャするサウンドをヘッドセットではなく同じコンピュータのスピーカーで再生する場合には、エコー抑制機能を使用することが推奨されます。サウンド出力デバイスをユーザーが選択できるようにした SWF ファイルでは、ユーザーがスピーカーを選択し、マイクも使用する場合に Microphone.setUseEchoSuppression(true) を呼び出すことをお勧めします。
ユーザーは、[Macromedia Flash Player 設定] パネルの [マイク] でこれらの設定を調整することもできます。
パラメータ
useEchoSuppression:Boolean — エコー抑制を使用するか (true) 使用しないか (false) を示すブール値です。
|
関連項目
| activity | イベント |
flash.events.ActivityEvent
flash.events.ActivityEvent.ACTIVITY
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクがセッションを開始または終了したときに送出されます。
activating プロパティを true に設定して、このイベントをトリガするために必要な音量を指定するか、activating プロパティを false に設定して、このイベントをトリガするためにサウンドなしで経過する必要がある時間を指定するには、Microphone.setSilenceLevel() を使用します。
ActivityEvent.ACTIVITY 定数は、type プロパティ (activity イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
activating | デバイスがアクティブになっている場合は true、非アクティブになっている場合は false です。 |
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | Camera オブジェクトや Microphone オブジェクトなど、セッションを開始または終了しているオブジェクトです。 |
関連項目
| status | イベント |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
マイクがそのステータスをレポートしたときに送出されます。code プロパティの値が "Microphone.Muted" である場合、SWF ファイルのマイクへのアクセスをユーザーが拒否しています。code プロパティの値が "Microphone.Unmuted" である場合、SWF ファイルのマイクへのアクセスをユーザーが許可しています。
type プロパティ (status イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
code | オブジェクトのステータスの説明です。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
level | "status"、"warning"、"error" など、メッセージのカテゴリです。 |
target | そのステータスをレポートするオブジェクトです。 |
関連項目
Security.showSettings() メソッドは、ユーザーのマイクにアクセス許可を要求する Flash Player ダイアログボックスを表示します。setLoopBack(true) を呼び出すと、入力をローカルスピーカーに切り替えるため、例を実行中にサウンドを聴くことができます。
2 つのリスナーは、activity および status のイベントを受け取ります。activity イベントはセッションの開始時と終了時 (存在する場合) に送出され、activityHandler() メソッドによって捕捉されます。このメソッドはイベントの情報をトレースします。status イベントは、関連付けられた Microphone オブジェクトがステータス情報をレポートした場合に送出され、statusHandler() メソッドを使用して捕捉、トレースされます。
メモ :この例を正しく機能させるには、コンピュータにマイクを接続しておく必要があります。
package {
import flash.display.Sprite;
import flash.events.*;
import flash.media.Microphone;
import flash.system.Security;
import flash.system.SecurityPanel;
public class MicrophoneExample extends Sprite {
public function MicrophoneExample() {
var mic:Microphone = Microphone.getMicrophone();
Security.showSettings(SecurityPanel.MICROPHONE);
mic.setLoopBack(true);
if (mic != null) {
mic.setUseEchoSuppression(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
mic.addEventListener(StatusEvent.STATUS, statusHandler);
}
}
private function activityHandler(event:ActivityEvent):void {
trace("activityHandler: " + event);
}
private function statusHandler(event:StatusEvent):void {
trace("statusHandler: " + event);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/media/Microphone.html