2010-11-25 5 views
10

के साथ वॉल्यूम सेट करना शुभ दिन!जावा

मैं एक ऐसा एप्लीकेशन विकसित कर रहा हूं जो MIDI खेलता है। यह ठीक खेलता है, लेकिन मुझे अक्सर अर्ध-बग रिपोर्ट मिलती है: 'कोई आवाज नहीं है'। उत्तर हमेशा वॉल्यूम नियंत्रक में प्रवेश करने के लिए होता है और सिंथेसाइज़र ध्वनि चालू करता है (इसे म्यूट नहीं किया जाता है)।

सवाल यह है कि - इसे स्वचालित रूप से कैसे बदला जाए - सॉफ़्टवेयर द्वारा? अभी तक मैं केवल मास्टर वॉल्यूम बदल सकता हूं और मैं वास्तव में कहीं भी नहीं देख सकता कि केवल 'लहर' 'एसडब्ल्यू सिंथेसाइज़र' आदि के लिए कैसे बदला जाए ...

मैं आम तौर पर प्लेटफार्म अनिवार्य समाधान (शुद्ध जावा) की तलाश में हूं हालांकि, केवल विंडोज़ (विंडोज़ के सभी प्रकार) के लिए समाधान का भी स्वागत है;) आगे धन्यवाद!

संपादित करें: ठीक है, जवाब देखकर, मुझे लगता है, मुझे अपना प्रश्न बेहतर निर्दिष्ट करना चाहिए। मैं छवि संलग्न करता हूँ। हरे रंग के साथ चयनित नियंत्रण वह है जो मैं पहले से कर सकता हूं (यानी क्लिफ लिंक के रूप में) हालांकि मुझे लाल रंग में नियंत्रण के लिए कुछ चाहिए (मेरे मामले में सबसे महत्वपूर्ण बाएं - सिंथेसाइज़र वॉल्यूम से तीसरा है)। छवि एक्सपी जीत से ली गई है, लेकिन अन्य ऑपरेटिंग सिस्टम (लिनक्स भी) के समान नियंत्रण हैं। जावा को ऐसी संभावना है। alt text

+0

डुप्लिकेट? http://stackoverflow.com/questions/953598/audio-volume-control-increase-or-decrease-in-java –

+0

मेरी इच्छा है कि इसे डुप्लिकेट किया गया हो;/लोग जानते हैं कि मुख्य वॉल्यूम कैसे बदलें, लेकिन हमेशा से ही सिंथेसाइज़र को म्यूट करें वॉल्यूम - जैसा कि मैंने मुख्य प्रश्न संपादित किया है;/ – parvuselephantus

उत्तर

0

जब आप sysinternal के Process Monitor का उपयोग कर स्क्रीनशॉट में टूल का उपयोग करके लहर/सिंथेसाइज़र स्तर समायोजित करते हैं तो पृष्ठभूमि में क्या होता है, इस पर ध्यान देने का प्रयास करें, और उसके बाद अपना जावा कोड एक ही देशी सिस्टम/डीएल कॉल करें।

1

मैंने उबंटू, फेडोरा और विंडोज़ में देखा है और इन ओएस में एकमात्र समानताएं मास्टर वॉल्यूम और अलर्ट (या विंडोज़ पर "बीप" वॉल्यूम है। इससे मुझे विश्वास होता है कि ऐसा करने का कोई प्लेटफ़ॉर्म-स्वतंत्र तरीका नहीं है, जिसका अर्थ कोई मानक जावा तरीका नहीं है।

कहा जा रहा है कि इन सभी ओएस के लिए एपीआई (शायद अलग) की संभावना है जो आपको इन बेहतर अनाज सेटिंग्स को नियंत्रित करने की अनुमति देता है। यदि ऐसा है, तो प्रत्येक प्लेटफॉर्म पर इन एपीआई के साथ बातचीत करने के लिए लगभग निश्चित रूप से अलग जावा पुस्तकालयों की आवश्यकता होगी।

क्षमा करें मैं आपको सही दिशा में इंगित नहीं कर सकता लेकिन मुझे आशा है कि कम से कम इस कार्य को करने का मानकीकृत तरीका होने की संभावना को खत्म करने में आपकी सहायता करें। सौभाग्य!

+0

यह कहा जाता है कि जानकारी है, लेकिन बहुत कुछ है। उस काम के लिए धन्यवाद! – parvuselephantus

0

क्या आप किसी प्रकार के इंटरफेस के साथ काम कर रहे हैं या सिस्टम के डिफ़ॉल्ट Mixer का उपयोग कर रहे हैं? और आप किस स्तर पर नियंत्रण कर रहे हैं? दुर्भाग्य से मैं इस एपीआई को भी सीख रहा हूं लेकिन मेरा पहला विचार यह है कि उनमें से प्रत्येक एक अलग रेखा होगी, है ना? क्या आपने सभी सिस्टम लाइनों को प्राप्त करने और प्रत्येक पंक्ति पर MASTER_GAIN का उपयोग करने का प्रयास किया है? मेरे ऊपर के व्यक्ति की तरह मैंने कहा कि मुझे यकीन है कि इसके लिए एपीआई है लेकिन अगर मैं शैक्षिक उद्देश्यों के लिए अपने कोड में ऐसा करने जा रहा था या कुछ ऐसा जहां मैं शुरू करूंगा। एपीआई के बारे में बात करते हुए एक नियंत्रण एपीआई है जो ऑडियो डेटा को स्वयं ही कुशल बनाती है लेकिन जहां तक ​​मुझे पता है हार्डवेयर के वॉल्यूम नियंत्रण को प्रभावित नहीं करता है।