2013-08-19 5 views
5

द्वारा प्रदान किए गए वॉल्यूम इंडिकेटर को अपडेट करने के लिए कैसे करें Android Chromecast SDK से MinimalMediaRouteProvider/MediaRouteButton को पंजीकृत करते समय, हमें मौजूदा क्रोमेकास्ट डिवाइस से कनेक्ट करने के लिए एक मानक संवाद मिलता है। एक बार डिवाइस से कनेक्ट होने के बाद, एक ही संवाद ड्रैगगेबल खोज बार का उपयोग करके वॉल्यूम सेट करने का एक तरीका भी प्रदान करता है। मुझे इस वॉल्यूम की स्थिति को सिंक्रनाइज़ करने में समस्या हो रही है जो वास्तविक वॉल्यूम डिवाइस से पहले से सेट की गई वास्तविक मात्रा के साथ है।MinimalMediaRouteProvider

MinimalMediaRouteProvider को पंजीकृत करने के हिस्से के रूप में हम com.google.cast.MediaRouteAdapter कार्यान्वयन प्रदान करते हैं। इस इंटरफ़ेस के ऑनसेटवॉल्यूम (वॉल्यूम) को तब कहा जाता है जब उपयोगकर्ता उपरोक्त वॉल्यूम seekBar को ड्रैग करता है। यह हमें MessageStream.setVolume (वॉल्यूम) का उपयोग करके कनेक्टेड क्रोमकास्ट चैनल के वॉल्यूम स्तर को अपडेट करने का एक ईश्वर तरीका देता है।

समस्या एक बार हम मात्रा अद्यतन करते हैं, कोई रास्ता नहीं MinimalMediaRouteProvider यूआई वापस बताने के लिए कि मात्रा तो यह अपने आप तदनुसार स्थित कर सकते हैं बदल गया है कि है - वर्तमान में यह हमेशा के रूप में 0.

मात्रा से पता चलता क्या मौजूदा वॉल्यूम स्तर के बारे में MinimalMediaRouteProvider को सूचित करने का सही तरीका है ताकि यह इसके वॉल्यूम यूआई को अपडेट कर सके?

समर्थन पुस्तकालय 7 के साथ शामिल मीडिया रूट नमूना को देखते हुए, MediaRouteDescriptor बनाने का एक तरीका प्रतीत होता है, वहां वॉल्यूम अपडेट करें और इस प्रकार इसे MediaRouteProvider पर संवाद करें, लेकिन यह बहुत स्पष्ट नहीं है कि इसे कैसे किया जाए Chromecast/MinimalMediaRouteProvider की सामग्री।

उत्तर

0

VideoCastManager से तुरंत मात्रा प्राप्त करने के लिए:

mVolume = (int) (mCastManager.getVolume() * 100) // cast volume is double 

(यानी परदे पर वॉल्यूम स्लाइडर रिसीवर में सिस्टम-आधारित मात्रा परिवर्तन प्राप्त करने के लिए

मैं एक अधिक विस्तृत जवाब यहाँ है पॉप-अप, वॉल्यूम को बदलने वाले अन्य कनेक्टेड डिवाइस), आपको अपने कंट्रोलर गतिविधि में एक कास्ट उपभोक्ता जोड़ना होगा:

private VideoCastConsumerImpl mCastConsumer = new VideoCastConsumerImpl() { 

    public void onVolumeChanged(double volume, boolean isMute) 
    { 
     mVolumeSeekBar.setProgress((int) (volume *100)); 
    } 
}; 

अधिक जानकारी के लिए:

Android Sender App Development (Aug '14)

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