2015-08-28 9 views
5

मेरे ऐप्स दो ऑडियो खेलते हैं, पहले सेवा से और गतिविधि से दूसरे। दूसरा ऑडियो चल रहा है जब मैं पहले ऑडियो की मात्रा कम करना चाहता हूँ। दूसरे ऑडियो को रोकने के बाद, पहले ऑडियो की मात्रा बढ़नी चाहिए।सेवा से चल रहे ऑडियो वॉल्यूम को कैसे नियंत्रित करें?

+0

प्लेबैक के लिए आप कौन से एपिस का उपयोग कर रहे हैं? – JohanShogun

+0

एंड्रॉइड मीडियाप्लेयर और ऑडियो का उपयोग करना मेरे कच्चे फ़ोल्डर में है। –

उत्तर

3

मीडियाप्लेयर के लिए इसके तरीके हैं। यह बाएं और दाएं चैनल के लिए वॉल्यूम सेट करता है। अनम्यूट किया गया:

mediaPlayerA.setVolume(1.0f, 1.0f); 

मूक अन्य खिलाड़ी

mediaPlayerB.setVolume(0.0f, 0.0f); 
+0

सरल लेकिन सहायक। धन्यवाद ;।) – JanPl

1

सुनिश्चित नहीं हैं कि कैसे आप अपने MediaPlayer कार्यान्वित आपकी सेवा के साथ मनाई गई, लेकिन मेरे परीक्षण में, मैं अपने सेवा के भीतर MediaPlayer का एक उदाहरण बनाया कक्षा। सर्विस क्लास के MediaPlayer इंस्टेंस की मात्रा को नियंत्रित करने के लिए, इसके सर्विस क्लास के बाहर, मैंने MediaPlayer इंस्टेंस को स्थिर सदस्य के रूप में सेट किया है।

तो मेरी सेवा कक्षा में मैं इस किया था:

static MediaPlayer mediaPlayer = new MediaPlayer(); 

मेरी गतिविधि में (जो इसे खुद ऑडियो खेल रहा है) मैं ऐसा किया:

MyOwnService.mediaPlayer.setVolume(0.1f, 0.1f); 

तो, जब मैं अपने गतिविधि में कूद गए , गतिविधि के ऑडियो खेलने से पहले, मैंने पहले इस कथन का इस्तेमाल किया था। नोटिस मैंने म्यूट नहीं किया (0.0 एफ, 0.0 एफ) इसे। जब तक यह आपकी आवश्यकताओं के अनुरूप न हो तब तक आप अपने फ्लोट्स के साथ खेल सकते हैं। यह 0.0 एफ - 1.0 एफ के बीच है।

मेरी गतिविधि में, मैंने MediaPlayer.OnCompletionListener भी लागू किया, ताकि मुझे पता चले कि गतिविधि के लिए ऑडियो कब पूरा हुआ था। इस इंटरफ़ेस में लागू करने के लिए एक विधि है, onCompletion(MediaPlayer mp)। ऑडियो पूर्ण होने के बाद इस विधि को बुलाया जाता है।

तो मेरी गतिविधि में मैं भी ऐसा किया: यहाँ

@Override 
public void onCompletion(MediaPlayer mp) { 
    MyOwnService.mediaPlayer.setVolume(1.0f, 1.0f); 
} 

, मैं तो सेवा वापस अधिकतम करने के लिए संगीत की मात्रा ऑडियो प्लेबैक के भीतर इसकी गतिविधियों पर अब पूरा कर लिया है के बाद से उठाया,।

फिर से, यह सब परीक्षण में था, और मैं इस तरह एक स्थिर सदस्य का खुलासा नहीं करना चाहूंगा (प्रकाशित ऐप में), मैं इसे कुछ कैसे समाहित कर दूंगा, इसलिए कुछ प्रकार का एक्सेस कंट्रोल है।

मुझे आशा है कि यह सहायक होगा।

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