एंड्रॉइड यूट्यूब एपीआई वीडियो रोकें जब स्क्रीन घुमाएं या खिलाड़ी को छुपाएं

मैं एंड्रॉइड के लिए यूट्यूब एपीआई का उपयोग कर रहा हूँ। वीडियो सामान्य रूप से खेल रहा है लेकिन जब मैं स्क्रीन चालू करता हूं, तो खिलाड़ी वीडियो को रोकता है और यह शुरुआत से वापस आता है जैसे कि यह नहीं खेला गया था। स्क्रीन पर स्क्रॉल करते समय प्लेयर को छुपाते ही ऐसा ही होता है। मैंने बहुत कुछ शोध किया है और कुछ चीजों का परीक्षण भी किया है जो मुझे मिला लेकिन कुछ भी काम नहीं किया =

यही तरीका है कि मैंने अपनी कक्षा घोषित की:

public class PlayerTest extends YouTubeBaseActivity implements
    YouTubePlayer.OnInitializedListener {

यह है जिसे मैंने चालू किया है ():

 YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
    youTubeView.initialize(DEVELOPER_KEY, this);

और यह वह तरीका है जो मैं कार्यान्वित करता हूं:

@Override
public void onInitializationFailure(Provider provider,
        YouTubeInitializationResult error) {
    Toast.makeText(this, "Error :( " + error.toString(), Toast.LENGTH_LONG)
            .show();
}

@Override
public void onInitializationSuccess(Provider provider,
        YouTubePlayer player, boolean wasRestored) {
    player.cueVideo(video);
}

सवाल:

मैं स्क्रॉल करता हूं या स्क्रीन फ्लिप करते समय वीडियो जारी रखना चाहता हूं। क्या यह संभव है? मैं सही तरीके से कार्यान्वित कर रहा हूं? यदि नहीं, तो सबसे अच्छा तरीका क्या होगा?

मदद के लिए अग्रिम धन्यवाद!

5
चूंकि sqrfv इंगित करता है, डिवाइस ऑरेंज अभिविन्यास बदलते समय एक एंड्रॉइड <कोड> गतिविधि नष्ट हो जाती है और फिर से बनाई जाती है। मेरा सुझाव है कि आप वर्तमान प्ले स्थिति (शायद गतिविधि onPause() विधि में ढूंढने के लिए getCurrentTimeMillis() विधि का उपयोग करें और इसे सहेजें, जब गतिविधि पुनर्निर्मित किया जाता है, तो अंतिम स्थिति में प्लेबैक को पुनरारंभ करने के लिए seekToMillis() विधि का उपयोग करें।
जोड़ा लेखक Squonk, स्रोत

4 उत्तर

मेरे लिए चाल क्या है:

android:configChanges="keyboardHidden|orientation|screenSize"

अपने एंड्रॉइड मेनिफेस्ट के लिए।

चीयर्स ..

9
जोड़ा
सरल और समस्या को ठीक करें
जोड़ा लेखक HendraWD, स्रोत
अगर मैं आपके समाधान का उपयोग करता हूं, तो जब मैं स्क्रीन को घुमाता हूं, तो यह लैंडस्केप लेआउट फ़ाइल में स्विच करने के बजाय पोर्ट्रेट लेआउट xml फ़ाइल का उपयोग करता रहता है
जोड़ा लेखक SUXA, स्रोत
 

इसे अपनी मेनिफेस्ट फ़ाइल में जोड़ें।

3
जोड़ा

जब आप स्क्रीन फ्लिप करते हैं, तो वीडियो चलाने वाली गतिविधि नष्ट हो जाती है, और रीसेट की गई सभी चीज़ों के साथ एक नई गतिविधि बनाई जाती है। यह एक विशेषता है, एक बग नहीं। :)

इससे निपटने के कुछ तरीके हैं; आपको शायद कुछ राज्यों को सहेजना होगा और फिर किसी भी नई गतिविधि को बनाए जाने, डेटा प्रबंधित करने आदि के किसी भी सहेजे गए डेटा की जांच करनी होगी। जांचें: स्क्रीन घुमाने/गतिविधि नष्ट होने के बाद एंड्रॉइड में डेटा व्यू/लेआउट रखना

2
जोड़ा
जवाब के लिए धन्यवाद। जैसा कि मैंने @ सक्कोक से कहा था, मैंने ऐसा कुछ करने का विचार किया था, लेकिन मुझे इस सुविधा के बारे में पता नहीं था। मैं कुछ ऐसा करने की कोशिश करूंगा जैसा आपने कहा था। स्क्रीन को घुमाए जाने का यह मामला ठीक है, मैं समझता हूं कि यह एक सुविधा है। लेकिन स्क्रीन स्क्रॉल करने के मामले में और खिलाड़ी को छुपाएं क्यों वीडियो बंद हो जाता है? और जब स्क्रीन लैंडस्केप में होती है तो वीडियो प्ले और तुरंत रोकें?
जोड़ा लेखक bertelli.deris, स्रोत
मैंने एक बात देखी: जब मैं स्क्रीन को धीरे-धीरे स्क्रॉल करता हूं और खिलाड़ी को छुपाता हूं और फिर खिलाड़ी को देखने के लिए वापस लौटाता हूं, खिलाड़ी पास होता है और बंद नहीं होता है, बस PAUSE। लेकिन अगर मैं जल्दी से स्क्रॉल करता हूं और खिलाड़ी वापस खेलता रहता है। यह सुझाव देता है कि ऐसा लगता है कि गतिविधि को पता है कि घटक प्रदर्शित किया जा रहा है या नहीं, और यदि वह नहीं दिखा रहा है कि यह नष्ट हो गया है। यदि घटक देखने के लिए स्क्रीन स्क्रॉल करें, तो गतिविधि इसे फिर से बनाती है। लेकिन यदि हां, तो खिलाड़ी PAUSE के लिए नहीं था लेकिन बंद होना था। क्या आप सहमत हैं?
जोड़ा लेखक bertelli.deris, स्रोत
हाँ, मैंने यहां परीक्षण किया। घटक नष्ट नहीं हुआ है, यूट्यूब एपीआई है जो खिलाड़ी को स्क्रीन से बाहर निकलने पर इसे रोकने के लिए कहता है, वीडियो केवल रोका जाता है, शुरू करने के लिए वापस नहीं आता है। मैंने एक परीक्षण किया, मैंने अपने एक्सएमएल लेआउट को स्क्रीन पर तय करने के लिए बदल दिया और बस बाकी सामग्री तक स्क्रॉल करने के लिए बदल दिया, अब वह रुक गया नहीं है। यह एक विकल्प है =)
जोड़ा लेखक bertelli.deris, स्रोत
हेहे हाँ, मुझे लगता है कि यह रास्ता है ... लेकिन मदद के लिए धन्यवाद, आपकी टिप्पणियां मुझे विकल्प खोजने में मदद करती हैं।
जोड़ा लेखक bertelli.deris, स्रोत
स्क्रॉलिंग समस्या के लिए हमें अधिक जानकारी की आवश्यकता होगी, स्क्रॉल ईवेंट पर सक्रिय रूप से सक्रिय नहीं होते हैं।
जोड़ा लेखक Noah, स्रोत
मुझे संदेह है कि दृश्य स्क्रीन पर चलने पर स्क्रॉल ईवेंट पर गतिविधि नष्ट हो जाती है। जब आप इसे बुलाया जा रहा है, तो आप यह देखने के लिए गतिविधि की ऑन क्रिएट विधि में कुछ लॉगिंग डाल सकते हैं। यदि वीडियो स्क्रीन पर नहीं है, तो यूट्यूबएपीआई दृश्य को रोकने या रोकने के लिए पर्याप्त स्मार्ट हो सकता है, लेकिन अगर ऐसा है, तो STOP कमांड प्लेयर को स्टार्ट में रीसेट करेगा, जबकि PAUSE कमांड नहीं होगा।
जोड़ा लेखक Noah, स्रोत
मैं जो कुछ भी प्रोग्राम करता हूं उसका आधा विकल्प होता है।
जोड़ा लेखक Noah, स्रोत

एक ऐसा दृष्टिकोण है जो वीडियो रोटेशन के दौरान किसी भी विराम के बिना वीडियो को चलाने में सक्षम बनाता है। YouTubeStandalonePlayer बनाएं VideoIntent देखें() 'LightboxMode' पैरामीटर के साथ एपीआई सही पर सेट है।

यदि यह सत्य पर सेट किया गया है, तो यह आपके वर्तमान गतिविधि के ऊपर एक संवाद दृश्य में वीडियो चलाता है और डिवाइस रोटेशन के दौरान रोक नहीं देता है।

0
जोड़ा