- 締切済み
java音声の録音
あまり知識はないのですが、javaの開発をしています。 現在javaでPCのライン入力から音声の録音を行っています。 参考にしたサイトは http://www.hellohiro.com/sound.htm で、非常に分かりやすくよかったのですが、 現在音声を複数個入力したいと考えています。 方法としてはUSB(PLANEX USB→3.5mmヘッドホン/マイク端子 USBオーディオ変換アダプタ PL-US35AP) http://www.amazon.co.jp/PLANEX-USB%E2%86%923-5mm%E3%83%98%E3%83%83%E3%83%89%E3%83%9B%E3%83%B3-%E3%83%9E%E3%82%A4%E3%82%AF%E7%AB%AF%E5%AD%90-USB%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E5%A4%89%E6%8F%9B%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF-PL-US35AP/dp/B001A1PR4M を用いる予定です。 音声の入力元をjava上から指定するにはどうすればよいのでしょうか? またスレッドなどで、複数の音声を同時に録音する事などは可能でしょうか? OSはMac OS Xを使っていますが、Windows も一応あるので特にこだわりません。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Yanch
- ベストアンサー率50% (114/225)
Mixer.Info[] infoList = AudioSystem.getMixerInfo(); を使って、ミキサー情報の一覧を取得。 その中から、使いたいミキサー情報を選択。 Mixer mixer = mixer = AudioSystem.getMixer(infoList[選択したミキサー情報の番号]); を使って、ミキサーを取得。 line = (TargetDataLine)AudioSystem.getLine(info); のような感じでターゲットデータラインを取得している処理を、 line = (TargetDataLine)mixer.getLine(info); の様に、ミキサーから取得する様に置き換える。 こんな感じの説明で、伝わるでしょうか。
お礼
Yanch様 ありがとうございます。早速試してみます。 Mixerというと大きな機械をイメージしてしまうのですが USBからくる音声でも使えるのですね。 早速やってみたいと思います。 ありがとうございます^^
補足
上記の方法で音声を同様に再生する事には成功しました。しかし未だ音源(ライン、上記で言うとUSB)を指定して再生、等は出来ないのですが、infoの内容を変更するべきなのですか?それともmixerのsynchronize等を使うのでしょうか? 一応補足までに、自分の行いたい事は、上記に書いたUSBを複数個つなげて、ボタン等で、これを聞く、といったものを選べるようにする事です。