3

そこで、Java のサウンド チュートリアルを調べましたが、あまり役に立ちませんでした。とにかく、マイクから音を録音するためのチュートリアルから私が理解したのはこれです:
音

ターゲット データ ラインの取得方法などは示されていますが、実際にサウンドを録音する方法については説明されていません [または、すべてがうまく理解できなかった可能性があります]。
これまでの私の理解は次のとおりです。

  • Mixer入力か出力かを問わず、サウンドの処理に使用できるサウンド カードまたはサウンド ソフトウェア ドライバを使用できます。
  • TargetDataLineパソコンに音を出力したい場合に使用します。ディスクに保存するように
  • Portマイクなどの外部デバイスが接続されている場所です
  • 残る問題

  • 適切なミキサーを選択するにはどうすればよいですか? Java の tut は、利用可能なすべてのミキサーを取得し、それぞれにクエリを実行して、必要なものがあるかどうかを確認すると述べています。初心者にはかなりわかりにくい
  • 内蔵マイクがあるポートを取得するにはどうすればよいですか? 具体的には、それからミキサーへの入力を取得するにはどうすればよいですか?
  • これをディスクに出力するにはどうすればよいですか?
  • 4

    1 に答える 1

    2

    AudioSystem.getTargetDataLine(AudioFormat format)メソッドを使用して取得します

    ... AudioFormat オブジェクトで指定された形式でオーディオ データを記録するために使用できるターゲット データ行。返される行は、デフォルトのシステム ミキサーによって提供されます。または、それが不可能な場合は、一致する TargetDataLine オブジェクトをサポートするシステムにインストールされている他のミキサーによって提供されます。

    この例については、 Java Sound API - マイクのキャプチャーの受け入れられた回答を参照してください。
    使用するデータ ラインをより詳細に制御したい場合は、すべてのミキサーとそれらがサポートするデータ ラインを列挙し、必要なものを選択できます。Java -ミキサーからの録音

    TargetDataLine を取得したら、 read()open()を繰り返し呼び出して、そのデータ行からデータを取得します。への呼び出しごとにデータで埋めたものは、たとえばFileOutputStreamを介してディスクに書き込むことができます。byte[]read()

    于 2012-12-20T13:50:27.583 に答える