質問: targetDataLine.getLevel(); System.out.println(x); try { Thread.sleep(10); } catch (InterruptedException e) {} } targetDataLine.stop(); // ターゲットデータライン をクローズ targetDataLine.close(); System.out.println("取得完 了"); } catch(Exception e) { e.printStackTrace(); } } }
回答: どうやら getLevel は実装されていないようです。 データーを読み込んで計算しましょう。 レベルの計算は 16 bit オーディオならそのサンプル値を short として、32768.0 で割って二乗して一定数足し合わせて平均を出し平方根を取ります(RMS)。対数を使えばデシベルにも出来ます。