2012-02-11 15 views
9

मैं एक एंड्रॉइड ऐप विकसित करने की प्रक्रिया में हूं।एंड्रॉइड एसडीके। audioManager। setStreamVolume अधिकतम int मान

मैं सफलतापूर्वक स्पीकर वॉल्यूम का उपयोग कर सेट करने में सक्षम है:

AudioManager audioManager = (Audiomanager)getSystemService(Context.AUDIO_SERVICE); 

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, sb2value, 0); 

सवाल यह है कि, अधिकतम पूर्णांक मूल्य है कि "sb2value" हो सकता है क्या है?

एफवाईआई, "एसबी 2value" एक स्लाइडर से एक मूल्य है। जैसे ही उपयोगकर्ता स्लाइड करता है, ऑडियो वॉल्यूम बदल जाता है।

मैं उस स्लाइडर मान को 0 - 100 से जाने की अनुमति देता हूं। क्या 100 को दूसरे तर्क मान के रूप में उपयोग किया जा सकता है या सीमा कम है, जैसे कि 20?

धन्यवाद,

पीएस मेरे ज्यादातर प्रश्न समान दिखते हैं क्योंकि मैं नया हूं, समझता हूं कि प्रत्येक प्रश्न को एक नई पोस्ट की आवश्यकता है, और मुझे एक साधारण कार्यक्रम के लिए बहुत सारी समस्याएं हैं।

उत्तर

15

अधिकतम मात्रा आप sb2value सेट कर सकते हैं प्राप्त करने के लिए बेहतर क्योंकि विभिन्न उपकरणों में अलग-अलग वॉल्यूम सीमा हो सकती है।

जहां तक ​​वास्तविक सीमा है, मुझे लगता है कि यह 10 से ऊपर नहीं है।

+1

यह मैंने किया है। मैं चाहता हूं कि वॉल्यूम में 0 और 100 के बीच भिन्न होने की क्षमता हो। मैंने अपना एसबी 2value चर रखा। मैं एक दूसरा चर बना देता हूं और अपने फ़ंक्शन का उपयोग करके अधिकतम स्वीकार्य वॉल्यूम पूर्णांक प्राप्त करता हूं, इसे 100 (मेरे वांछित अधिकतम मान) से विभाजित करता हूं, और फिर वर्तमान मूल्य से इसे एकाधिक करता है जिस पर sb2value है। इससे मुझे लगभग किसी भी फोन की वॉल्यूम को न्यूनतम से अधिकतम तक बढ़ाया जा सकता है। –

+0

लेकिन, मुझे याद नहीं है कि INT की दशमलव संख्याएं हो सकती हैं या नहीं। –

+0

कास्टिंग, सी ++ से ... sb2value पहले से ही एक int है। मेरा मतलब था कि परिणामी उत्तर दशमलव के रूप में समाप्त हो सकता है। अगर sb2value = 100, 10 (StreamMax)/100 = 0.1। हालांकि, यह ठीक है। –

5

आप जिस मूल्य को आप चाहते हैं उसे प्राप्त करने के लिए आप getStreamMaxVolume(int) विधि का उपयोग कर सकते हैं। उम्मीद है की यह मदद करेगा।

sb2value = audioManager.getStreamMaxVolume(audioManager.STREAM_MUSIC); 
3

के बजाय कठिन अपने स्लाइडर के अधिकतम मूल्य कोडिंग (या seekbar अगर आपको लगता है कि प्रयोग कर रहे हैं), audioManager.getStreamMaxVolume(audioManager.STREAM_MUSIC) को अधिकतम विशेषता निर्धारित यह काम करेगा:

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