- 締切済み
オーディオライン入力からの録音(音楽情報処理)
パソコンについているオーディオライン入力に エレキギターのシールド(導線?)をつなげて .wavファイルとして録音したいのですが、 うまくいきません。 録音するプログラムは ↓のサイトで発見し、 http://www.hellohiro.com/sound.htm 確かにパソコンに付属のマイクから 録音ができたのですが。 ラインに入力をしてもマイクから録音してしまいます。 ラインには確かに信号が伝わっていることは システム環境設定から確認済みです。 何かご意見、アドバイスがありましたら 簡単なものでいいのでぜひお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- PED02744
- ベストアンサー率40% (157/390)
Macなんですか。。。 Macは全くわからないもので、お役に立てそうにありません。。残念です。 今のmacって、unix系だから、/dev/XXXXからストリーム開いて直接ファイルとして読み込むしかないとか?・・・・だったりしませんかね(^-^;
- PED02744
- ベストアンサー率40% (157/390)
私も調べきったわけではないのですが、 入力を切り替えるということは、Mixerを使うんじゃないでしょうか。 直接soundLineを使ったら、0番目が何かはしりません(多分マイクなのでしょう)が常に使われるってことではないでしょうか。
お礼
わざわざ回答ありがとうございます! 僕もそう考えています。 とりあえず情報を表示してみようと思って Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); for(int i=0; i<mixerInfo.length; i++) { System.out.println(mixerInfo[i].getName() + i); System.out.println(mixerInfo[i].getVendor() + i); Mixer mixerArray = AudioSystem.getMixer(mixerInfo[1]); Line.Info[] lineinfo = mixerArray.getTargetLineInfo(); for(int j=0; j<lineinfo.length; j++) { System.out.println(lineinfo[j].toString() + j); } } といった感じで出してみると Java Sound Audio Engine0 Sun Microsystems0 Mac OS X,CoreAudio,Audio hardware1 Unknown Vendor1 interface TargetDataLine supporting 8 audio formats0 2 Unknown Vendor2 interface TargetDataLine supporting 8 audio formats0 …と出るので 二つのTargetDataLineをためしてみたんですが… それでもやはりマイク入力に…。
補足
Mixer mixerArray = AudioSystem.getMixer(mixerInfo[1]); じゃなくて Mixer mixerArray = AudioSystem.getMixer(mixerInfo[i]); でしたね…
お礼
なるほど! そうかもしれませんね…。 windowsパソコンもあるのでこっちでもとりあえず試してみます。