yuta imagawa
2017.08.26
Javaでのプログラミングについて
Javaでプログラムを書いています。
​プログラム実行をしていく中で、
jp.vstone.RobotLib.CRecordMic というクラスの中の
startRecordingという関数の実行中に
​下記のようなエラーが出てしまい録音ができません。
​引数には、ファイル名、時間をとっています。
​何を改善すれば録音できるようになるのか教えて頂きたいです。
​お願いします。

Exception in thread "Thread-3" java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 22050.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian
        at com.sun.media.sound.DirectAudioDevice.getLine(DirectAudioDevice.java:174)
        at jp.vstone.RobotLib.CRecordMic.startRecording(CRecordMic.java:136)
        at jp.vstone.RobotLib.CRecordMic.access$300(CRecordMic.java:25)
        at jp.vstone.RobotLib.CRecordMic$MyTask.run(CRecordMic.java:236)
        at java.lang.Thread.run(Thread.java:745)

回答
Sotaサポート
2017.08.29
yuta imagawa 様

Sotaサポートです。
エラー内容を確認する限りでは、関数の引数に誤りがあるように見受けられます。


startRecordingメソッドは、javadocにも記載されておりますが

public boolean startRecording(java.lang.String filename,int timeMillis)

上記のように、String型のファイルパスと録音時間(ミリ秒)が引数となります。


念のため、下記に簡単なサンプルコードを記載します。
(VstoneMagicから生成したコードの抜粋になります)

String path="/var/sota/";
path += (String)"rec.wav";
GlobalVariable.mic.startRecording(path,(int)3000);


正常な引数を指定しているにも関わらずエラーが発生する場合、再度ご連絡をお願い致します。
この質問に回答する
 

Page Top