com.j_phone.io
クラス MicControl

java.lang.Object
  |
  +--com.j_phone.io.MicControl

public class MicControl
extends java.lang.Object

音声入力から入力された音声を利用するための機能を提供するクラスです。

このクラスが提供する機能を以下に示します。

このクラスの機能を使う場合は、音声出力が外部スピーカーに出力されていることを確認してください。 楽曲再生音を内部スピーカーに出力している場合にピッチ検出を行うと、 楽曲再生音を拾うため正しい結果が得られ難くなります。 音声出力先はDeviceControlDeviceControl.getDeviceState()メソッドに DeviceControl.SPEAKER_STATE を指定して呼び出すことによって取得できます。

導入されたバージョン:
JSCL 1.3.2

フィールドの概要
static int MIC
          音声入力が有効であることを示します。
static int PITCH_SCANNING
          音声入力からピッチと声量を検出中であることを示します。
 
メソッドの概要
 void disable()
          音声入力からの入力を無効にします。
 void enable()
          音声入力からの入力を有効にします。
 int getEchoLevel()
          音声入力にかけられているエコーのかかり具合を取得します。
 int getEchoMaxLevel()
          音声入力にかけることのできるエコーのかかり具合の最大値を取得します。
static MicControl getInstance()
          唯一の MicControl インスタンスを取得します。
 int getMaxVolume()
          音声入力からの入力ボリュームの最大値を取得します。
 int getScanInterval()
          周波数と音量の検出間隔を取得します。
 int getState()
          現在の音声入力の状態を取得します。
 int getVolume()
          音声入力からの入力ボリュームを取得します。
 void setEchoLevel(int level)
          音声入力へかけるエコーのかかり具合を設定します。
static void setMicControlListener(MicControlListener listener)
          音声入力のイベント通知用のMicControlListenerを登録します。
 void setVolume(int volume)
          音声入力からの入力ボリュームを設定します。
 void startPitchScan(PitchScanData scandata)
          ピッチ検出を開始します。
 void stopPitchScan()
          ピッチ検出を終了します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

MIC

public static final int MIC
音声入力が有効であることを示します。

PITCH_SCANNING

public static final int PITCH_SCANNING
音声入力からピッチと声量を検出中であることを示します。
メソッドの詳細

getInstance

public static MicControl getInstance()
                              throws java.io.IOException
唯一の MicControl インスタンスを取得します。

Java制御型カラオケアプリケーションのみ使用可能です。

戻り値:
MicControlインスタンス
例外:
java.io.IOException - 音声入力の制御をサポートしない場合に発生する

getState

public int getState()
現在の音声入力の状態を取得します。

現在の音声入力の状態を示す値を、MIC, PITCH_SCANNINGの論理和で返します。 音声入力が無効状態の場合は 0 が返ります。

戻り値:
音声入力の状態

enable

public void enable()
            throws java.io.IOException
音声入力からの入力を有効にします。
例外:
IllegalStateException - 音声入力の状態が有効または音声認識が実行中の場合に発生する
java.io.IOException - 音声入力の有効に失敗した場合に発生する
関連項目:
VoiceRecognition

disable

public void disable()
音声入力からの入力を無効にします。

ピッチ検出中にこのメソッドが呼び出された場合は、暗黙にstopPitchScan()が呼び出されます。

関連項目:
VoiceRecognition

getMaxVolume

public int getMaxVolume()
音声入力からの入力ボリュームの最大値を取得します。
戻り値:
設定可能な入力ボリュームの最大値

getVolume

public int getVolume()
音声入力からの入力ボリュームを取得します。

初期値は 0 です。

戻り値:
入力ボリュームを示す値。0以上、getMaxVolume()以下の範囲となる。

setVolume

public void setVolume(int volume)
音声入力からの入力ボリュームを設定します。
パラメータ:
volume - 入力ボリュームを示す値。0以上、getMaxVolume()以下の値が設定できる。
例外:
java.lang.IllegalArgumentException - 不正な引数が指定された場合に発生する
java.lang.RuntimeException - 設定に失敗した場合に発生する

getEchoMaxLevel

public int getEchoMaxLevel()
音声入力にかけることのできるエコーのかかり具合の最大値を取得します。

エコーは段階で設定します。 最大値が 1 の場合は、 0:エコーなし、1:エコーON の二段階の設定になります。 各段階の遅延時間は機種に依存します。

戻り値:
設定可能なエコーのかかり具合の最大値

getEchoLevel

public int getEchoLevel()
音声入力にかけられているエコーのかかり具合を取得します。

エコーは段階で設定します。初期値は 0:エコーなしです。

戻り値:
エコーのかかり具合を示す値。0以上、getEchoMaxLevel()以下の範囲となる。

setEchoLevel

public void setEchoLevel(int level)
音声入力へかけるエコーのかかり具合を設定します。

エコーは段階で設定します。0 はエコーなしを表し、 1 以上はエコーONを表します。 各段階による遅延時間は機種に依存します。

パラメータ:
level - エコーのかかり具合を示す値。0以上、getEchoMaxLevel()以下の値が設定できる。
例外:
java.lang.IllegalArgumentException - 不正な引数が指定された場合に発生する
java.lang.RuntimeException - 設定に失敗した場合に発生する

getScanInterval

public int getScanInterval()
周波数と音量の検出間隔を取得します。

検出した周波数と音量の配列について、ある要素を検出してから次の要素を検出するまでにどれくらいの間隔を取るのかを返します。 この値は機器端末ごとに固定されています。

戻り値:
検出間隔(単位はミリ秒)

startPitchScan

public void startPitchScan(PitchScanData scandata)
                    throws java.io.IOException
ピッチ検出を開始します。

音声入力からの入力に対してピッチ(周波数)と音量をリアルタイムに検出して、 指定されたPitchScanDataのインスタンスに格納します。

パラメータ:
scandata - 検出したピッチ情報と音量情報を格納するPitchScanDataクラスのインスタンス
例外:
NullPointerException - scandata が null の場合に発生する
IllegalStateException - 既にピッチ検出中または音声入力が無効の場合に発生する
java.io.IOException - ピッチ検出開始に失敗した場合に発生する

stopPitchScan

public void stopPitchScan()
ピッチ検出を終了します。

setMicControlListener

public static void setMicControlListener(MicControlListener listener)
音声入力のイベント通知用のMicControlListenerを登録します。
パラメータ:
listener - 新しい MicControlListener