Javaを使用して発信wavオーディオストリームの音量を上げるにはどうすればよいですか?私は様々なJava TTSエンジンと合成音声の出力音量に問題があります。ボリュームをポンピングするために使用できるAPIコールまたはdoo-hickey.jarはありますか?あなたは利得制御を使用して音量を調整することができJavaのオーディオ音量コントロール(増減)
19
A
答えて
34
を開いた後にこのような何かを試してみてください。
import javax.sound.sampled.*;
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(
new File("some_file.wav"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
FloatControl gainControl =
(FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-10.0f); // Reduce volume by 10 decibels.
clip.start();
9
、あなたはJavaのサウンドAPIを使用している場合、あなたはMASTER_GAINコントロールで音量を設定することができますライン
FloatControl volume= (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
1
public final class VolumeControl
{
private VolumeControl(){}
private static LinkedList<Line> speakers = new LinkedList<Line>();
private final static void findSpeakers()
{
Mixer.Info[] mixers = AudioSystem.getMixerInfo();
for (Mixer.Info mixerInfo : mixers)
{
if(!mixerInfo.getName().equals("Java Sound Audio Engine")) continue;
Mixer mixer = AudioSystem.getMixer(mixerInfo);
Line.Info[] lines = mixer.getSourceLineInfo();
for (Line.Info info : lines)
{
try
{
Line line = mixer.getLine(info);
speakers.add(line);
}
catch (LineUnavailableException e) { e.printStackTrace(); }
catch (IllegalArgumentException iaEx) { }
}
}
}
static
{
findSpeakers();
}
public static void setVolume(float level)
{
System.out.println("setting volume to "+level);
for(Line line : speakers)
{
try
{
line.open();
FloatControl control = (FloatControl)line.getControl(FloatControl.Type.MASTER_GAIN);
control.setValue(limit(control,level));
}
catch (LineUnavailableException e) { continue; }
catch(java.lang.IllegalArgumentException e) { continue; }
}
}
private static float limit(FloatControl control,float level)
{ return Math.min(control.getMaximum(), Math.max(control.getMinimum(), level)); }
}
+0
スピーカーと特定のトラックの音量を調整することは、全く異なる2つのことです。 –
関連する問題
- 1. iPhone:音量を増やす
- 2. iOSシステム音量コントロール
- 3. javaオーディオ録音
- 4. XNA 4.0 WP7ゲーム音量コントロール
- 5. iPhone iOS7システムの音量(リンガーとアラート)音量コントロール
- 6. VideoJS音量コントロールの第2のプレーヤー
- 7. Javaアプレットでのオーディオの録音(ポリシーファイルオプション)
- 8. オーディオ:バイト配列のサンプルの音量を変更する
- 9. PDFテキストフォントサイズ増減
- 10. 増減値
- 11. テストプログラムを設計する:CPU使用量を増減する
- 12. 録音オーディオiOS
- 13. 録音オーディオMP3
- 14. チタンモバイルでの高音質オーディオ録音
- 15. 角の増減速度
- 16. IE8でメディア要素の音量コントロールが見えない
- 17. ビジネスにおけるSASの使用量が増減していますか?
- 18. Xamarin.formsでのオーディオ録音
- 19. Windows Media Foundationの録音オーディオ
- 20. アンドロイドでのオーディオ録音
- 21. 0から99までの範囲のオーディオ音量を制御します。
- 22. AVAudioEngine低音量
- 23. iOSのコントロールサウンド音量
- 24. 音量の変更
- 25. iPadのAudioServicesPlaySystemSound音量
- 26. iPodの音量がアプリケーションの音量に影響する
- 27. Android。大量のオーディオ録音はどうすればいいですか?
- 28. 特定の連絡先の着信音量を増加させます。 Android
- 29. JavaでWebベースのページにオーディオを録音/再生
- 30. UILocalNotification大音量の背景音
Thanx!私はこれを試してみる。それが価値あるものであれば、私は両端の問題を見ています。私は、オーディオストリームを摂取しているiPhoneクライアントを持っているだけで、私は別のボリュームを取得するクライアント上の別のAPIを使用しています。だから私は自分の問題が完全にサーバー側だとは思わない。 – Cliff
@ markusk質問がボリュームに固有の場合、 'FloatControl.Type.VOLUME'を使うべきですか? –
レコードの場合:音量コントロールが例外をスローしました(サポートされていません)。マスターゲインコントロールは(SourceDataLineで)例外をスローしました。 – RedGreasel