मैं जावा का उपयोग कर आउटगोइंग WAV ऑडियो स्ट्रीम की मात्रा कैसे बढ़ा सकता हूं? मुझे विभिन्न जावा टीटीएस इंजन और संश्लेषित भाषण की आउटपुट वॉल्यूम के साथ समस्याएं हैं। क्या कोई एपीआई कॉल है या डू-हिकी.जर मैं वॉल्यूम पंप करने के लिए उपयोग कर सकता हूं?जावा में ऑडियो वॉल्यूम नियंत्रण (वृद्धि या कमी)
19
A
उत्तर
34
खोला है आप जावा ध्वनि एपीआई का उपयोग कर रहे हैं, तो आप MASTER_GAIN नियंत्रण के साथ मात्रा निर्धारित कर सकते हैं।
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
आप एक GainControl का उपयोग कर मात्रा समायोजित कर सकते हैं, कुछ इस तरह की कोशिश के बाद आप लाइन
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
स्पीकर पर वॉल्यूम समायोजित करना और एक विशिष्ट ट्रैक पर दो पूरी तरह से अलग चीज़ें हैं। –
संबंधित मुद्दे
- 1. जावा: वृद्धि/कमी ऑपरेटर के उपसर्ग/पोस्टफिक्स?
- 2. ऑडियो प्रोसेसिंग: वॉल्यूम लेवल
- 3. मीडियालेमेंट वॉल्यूम नियंत्रण IE8
- 4. iOS: तक पहुँचना डिवाइस हार्डवेयर ऑडियो वॉल्यूम नियंत्रण
- 5. जावा मिडी वॉल्यूम नियंत्रण काम नहीं करेगा
- 6. पहले और बाद के सी # में वेतन वृद्धि/कमी ऑपरेटरों
- 7. UIslider आईफोन का उपयोग कर वॉल्यूम नियंत्रण?
- 8. एचटीएमएल 5 ऑडियो मोबाइल डिवाइस ऑडियो सेटिंग्स जैसे चुप या वॉल्यूम की उपेक्षा क्यों करता है?
- 9. उच्च वॉल्यूम वेबसाइट (जावा)
- 10. WinForms वॉल्यूम स्लाइडर/ट्रैकबार उपयोगकर्ता नियंत्रण
- 11. एचटीएमएल 5 ऑडियो टैग कस्टम नियंत्रण?
- 12. जावा एप्लिकेशन में वॉल्यूम नियंत्रित करना
- 13. वृद्धि हेक्स मान (जावा)
- 14. डिवाइस वॉल्यूम
- 15. जावा में ऑडियो फिंगरप्रिंटिंग सिस्टम
- 16. WP7 में लॉक स्क्रीन पर वॉल्यूम नियंत्रण कैसे निकालें?
- 17. एंड्रॉइड। उच्च वॉल्यूम के साथ ऑडियो रिकॉर्डिंग कैसे करें?
- 18. ऑडियो फिंगरप्रिंटिंग लाइब्रेरी (जावा)
- 19. वास्तविक जीवन उदाहरणों में उपयोग किए जाने वाले पूर्व-कमी/वृद्धि के बाद पोस्ट-कमी/वृद्धि के बाद कब होता है?
- 20. ओपनएसएल ईएस (एंड्रॉइड) में वॉल्यूम को कैसे समायोजित करें?
- 21. वॉल्यूम
- 22. परमाणु डालने या वेतन वृद्धि
- 23. क्या ईबीएस वॉल्यूम की स्नैपशॉट लेना विश्वसनीयता में वृद्धि करता है?
- 24. पायथन में लूप वृद्धि पर अधिक नियंत्रण कैसे प्राप्त करें?
- 25. जावा ऑडियो कनवर्टर एपीआई
- 26. वृद्धि/jQuery
- 27. कतार में कमी एल्गोरिदम?
- 28. जावा - डाउनस्लैप्लिंग WAV ऑडियो फ़ाइल
- 29. आईओएस: सही चैनल वॉल्यूम म्यूट करें
- 30. पूर्व वृद्धि वृद्धि बनाम पोस्ट-वृद्धि
thanx! मैं कोशिश करूँगा इसके लायक होने के लिए मैं दोनों सिरों पर समस्या को देख रहा हूं। मेरे पास एक ऑडियो क्लाइंट है जो ऑडियो स्ट्रीम में प्रवेश कर रहा है और क्लाइंट पर एक अलग एपीआई का उपयोग करके मुझे अलग वॉल्यूम मिलता है। इसलिए मुझे नहीं लगता कि मेरी समस्या पूरी तरह सर्वर की तरफ है। – Cliff
@ markusk यदि प्रश्न मात्रा के लिए विशिष्ट है, तो 'FloatControl.Type.VOLUME' का उपयोग किया जाना चाहिए? –
सिर्फ रिकॉर्ड के लिए: वॉल्यूम नियंत्रण ने एक अपवाद फेंक दिया (समर्थित नहीं) जबकि मास्टर लाभ नियंत्रण ('SourceDataLine' पर) नहीं था। – RedGreasel