2013-03-15 3 views
10

जैसा कि हेडर कहता है: एंड्रॉइड में यूट्यूब एपीआई के साथ पूर्ण स्क्रीन को अक्षम करना संभव है?क्या एंड्रॉइड में यूट्यूब एपीआई के लिए पूर्ण स्क्रीन को अक्षम करना संभव है?

मेरे पास टुकड़ों के साथ एक ऐप है और उन टुकड़ों के अंदर मेरे पास फ्रेम लेआउट है जिसमें मैं YouTubePlayerSupportFragment जोड़ता हूं। लेकिन जब मैं पूर्ण स्क्रीन पर क्लिक करें तो यह अपवाद फेंक दिया जाता है:

java.lang.RuntimeException: java.lang.IllegalArgumentException: शुरू करने के लिए गतिविधि ComponentInfo {com.example.xxx/com.example.xxx.MainActivity} में असमर्थ : नहीं दृश्य आईडी 0x7f040039 (com.example.xxx:id/frame_youtube) टुकड़ा YouTubePlayerSupportFragment के लिए के लिए मिली {4282a068 # 11 आईडी = 0x7f040039}

उत्तर

16

मैं एक ही मुद्दे का सामना करना पड़ा है और यह है कि के लिए काम किया संभालने के लिए एक रास्ता मिल गया मुझे। टुकड़ा के लिए OnInitializedListener() में, मैं यह कर:

@Override 
public void onInitializationSuccess(Provider arg0, 
final YouTubePlayer player, boolean arg2) { 
//Tell the player you want to control the fullscreen change 
player.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT); 
//Tell the player how to control the change 
player.setOnFullscreenListener(new OnFullscreenListener(){ 
@Override 
public void onFullscreen(boolean arg0) {      
// do full screen stuff here, or don't. I started a YouTubeStandalonePlayer 
// to go to full screen 
}}); 

}}); 

और चूंकि मैं अपने पूर्ण स्क्रीन को संभालने के लिए YouTubeStandalonePlayer इस्तेमाल किया मैं अभी भी एक त्रुटि मिली, तो मैं हल है कि

finish(); 

फोन करके गतिविधि के लिए मेरे OnPause() में। बस याद रखें कि यदि आप बैक बटन हिट करते हैं तो आप वापस नहीं आएंगे। आप प्रयोक्ता के माध्यम से यूट्यूब ऐप को उपयोगकर्ता को भी भेज सकते हैं, जब मैंने इसका परीक्षण किया तो ऑनपोज में finish() की आवश्यकता नहीं थी, लेकिन मेरी जरूरतों के साथ-साथ स्टैंडअलोन प्लेयर के अनुरूप नहीं था।

संपादित करें: आप पूर्ण स्क्रीन बटन निकालना चाहते हैं, तो आप भी सिर्फ इस तरह खिलाड़ी शैली सेट कर सकते हैं:

PlayerStyle style = PlayerStyle.MINIMAL; 
player.setPlayerStyle(style); 
29

या आप सिर्फ 1 लाइन द्वारा उसे निष्क्रिय कर सकते हैं:

player.setShowFullscreenButton(false); 
+0

यही वह है जिसे मैं ढूंढ रहा था। यदि आप वीडियो को पूर्णस्क्रीन मोड में लॉक करना चाहते हैं लेकिन अन्य सभी नियंत्रणों को रखें, तो यह वही है जो आप चाहते हैं। कम हैकी लगता है। –

+0

बेस्ट उत्तर। धन्यवाद। – John

+0

यही वह है जिसे मैं ढूंढ रहा था – Yogamurthy

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