2011-10-31 12 views
5

मैं जावा में बिल्कुल नया हूं। मुझे जावा एप्लिकेशन में वॉल्यूम (वॉल्यूम अप/डाउन, म्यूट) को नियंत्रित करने की आवश्यकता है। मुझे ऐसा करने का कोई रास्ता नहीं मिला। मैं एक लिनक्स सिस्टम (जानकारी के लिए) पर विकास कर रहा हूं।जावा एप्लिकेशन में वॉल्यूम नियंत्रित करना

मैं थक इस कोड:

जावा कोड:

Port lineIn; 
FloatControl volCtrl; 
try { 
    mixer = AudioSystem.getMixer(null); 
    lineIn = (Port)mixer.getLine(Port.Info.LINE_IN); 
    lineIn.open(); 
    volCtrl = (FloatControl) lineIn.getControl(

     FloatControl.Type.VOLUME); 
    // Assuming getControl call succeeds, 
    // we now have our LINE_IN VOLUME control. 
} catch (Exception e) { 
    System.out.println("Failed trying to find LINE_IN" 
    + " VOLUME control: exception = " + e); 
} 

लेकिन मैं मिल गया execption

Failed trying to find LINE_IN VOLUME control: exception = java.lang.IllegalArgumentException: Line unsupported: COMPACT_DISC source port 

आपकी मदद के लिए धन्यवाद

उत्तर

-1

मुझे नहीं लगता कि वहाँ एक है निरंतर वोल्म कहा जाता है। इसका MASTER_GAIN तो आपको

volCtrl = (floatControl) lineIn.getControl(FloatControl.Type.MASTER_GAIN); 
volCtrl.setValue(you_custom_value); 
+0

वहां * निरंतर 'वॉल्यूम' कहा जाता है, या यह संकलित नहीं होगा। – wchargin

4

कभी-कभी नियंत्रण घोंसला होता है, जो एक मंच स्वतंत्र समाधान को मुश्किल बनाता है। मैं एक उपयोगिता वर्ग जो ऐसे ही प्रयोग किया जाता है लिखा है:

Audio.setMasterOutputVolume(0.5f); 

स्रोत कोड यहाँ है: https://github.com/Kunagi/ilarkesto/blob/master/src/main/java/ilarkesto/media/Audio.java

Stackoverflow उपयोगकर्ताओं WTFPL की शर्तों के तहत Audio.java से कोड का उपयोग कर सकते हैं।

+0

कोड के लिए धन्यवाद लेकिन यह मेरे लिए काम नहीं करता है: एस –

+0

धन्यवाद तो मश, यह ठीक काम करता है उबंटू 14.04 –

+0

यह ठीक है ठीक है, लेकिन विंडोज 8 में नहीं –

संबंधित मुद्दे