5

そうですね。初めて実際にJavaを使用して問題を修正しています。Sennheiser120HDという新しいヘッドフォンセットを購入しました。しかし、問題があります。オーディオが絶えず放出されない場合、ヘッドホンのベースは最終的にタイムアウトしてオフになります。ヘッドホンは耳にひどい静電気でスパムされています。私にとってこれに対する解決策は、現在、死の静けさを防ぐために24時間年中無休で音楽を演奏することです。変かもしれませんが、24時間年中無休で音楽を聴きたくありません。

これに対する実行可能な解決策は、ベースが検出できるが聞こえない音を絶えず発することだと思います。アプリケーションは24時間年中無休で実行されているため、効率的である必要があります。

私はいくつかの調査を行ってきましたが、Javaの経験はそれほどありません。特定の周波数を放出するためのライブラリが見つかりません。誰か知っていますか?

店舗での返品ポリシーが無効になる前に、4日以内にこの解決策を入手するのが最善です。これが機能しない場合。

ゼンハイザーからのメール

4

1 に答える 1

3

一定周波数の音を聞くと耳が痛くなると思います。ただし、標準のJavaライブラリを使用するだけで、次のように実行できます。

AudioFormat format = new AudioFormat(44000f, 16, 1, true, false);
SourceDataLine line = (SourceDataLine)AudioSystem.getLine(new DataLine.Info(SourceDataLine.class, format));

line.open(format);
line.start();

double f = 440; // Hz
double t = 3; // seconds

byte[] buffer = new byte[(int)(format.getSampleRate() * t * 2 + .5)];

f *= Math.PI / format.getSampleRate();

for(int i = 0; i < buffer.length; i += 2) {
    int value = (int)(32767 * Math.sin(i * f));
    buffer[i + 1] = (byte)((value >> 8) & 0xFF);
    buffer[i] = (byte)(value & 0xFF);
}

line.write(buffer, 0, buffer.length);

line.drain();
于 2012-07-04T15:13:41.057 に答える