2013-07-19 24 views
5

यूट्यूब फ्लैश एपीआई में त्रुटि कोड 0 का क्या मतलब है? एपीआई के साथ कुछ वीडियो चलाने की कोशिश करते समय ऐसा होता है। अन्य त्रुटि कोड API Reference से वर्णन किया गया है, लेकिन कोड 0.यूट्यूब एपीआई प्लेयर कुछ वीडियो नहीं चलाता

त्रुटि नहीं मैं कैसे यूट्यूब खिलाड़ी सभी वीडियो चला कर सकता हूँ, जैसा कि वह YouTube Player Demo पर करता है?

FLA और SWF फ़ाइलें: https://s3.amazonaws.com/YouTubeAPIError0/YouTubeAPIError0.zip

package { 
    import flash.system.Security; 
    import flash.display.MovieClip; 
    import flash.display.Loader; 
    import flash.events.Event; 
    import flash.net.URLRequest; 
    import fl.data.DataProvider; 
    import fl.controls.ComboBox; 
    import fl.controls.TextArea; 

    public class YouTubeAS3 extends MovieClip { 
     public var VidHolder:MovieClip; 
     public var VidSelection:ComboBox; 
     public var traceArea:TextArea; 

     private var player:Object; 
     private var loader:Loader; 
     private var vidCollection:DataProvider; 

     public function YouTubeAS3():void { 
      Security.allowInsecureDomain("*"); 
      Security.allowDomain("*"); 

      vidCollection = new DataProvider(); 
      vidCollection.addItem({data:"eDdI7GhZSQA", label:"Video 1"}); 
      vidCollection.addItem({data:"S09F5MejfBE", label:"Video 2"}); 
      vidCollection.addItem({data:"QUwxKWT6m7U", label:"Video 3"}); 
      vidCollection.addItem({data:"TAbnQZZ6QXc", label:"Video 4"}); 
      vidCollection.addItem({data:"QH2-TGUlwu4", label:"Errorless Video"}); 

      VidSelection.dataProvider = vidCollection; 
      VidSelection.addEventListener(Event.CHANGE, cueVideo); 

      loader = new Loader(); 
      loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit); 
      loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3")); 
     } 

     private function onLoaderInit(event:Event):void { 
      VidHolder.addChild(loader); 
      loader.content.addEventListener("onReady", onPlayerReady); 
      loader.content.addEventListener("onError", onPlayerError); 
      loader.content.addEventListener("onStateChange", onPlayerStateChange); 
      loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange); 
     } 

     private function onPlayerReady(event:Event):void { 
      traceArea.text += "player ready: " + Object(event).data + "\r"; 
      player = loader.content; 
      player.setSize(480, 360); 
      VidSelection.selectedIndex = 0; 
      VidSelection.dispatchEvent(new Event(Event.CHANGE)); 
     } 
     private function cueVideo(event:Event):void { 
      traceArea.text += "switch to: " + event.target.selectedItem.label + "\r"; 
      player.cueVideoById(event.target.selectedItem.data); 
     } 

     private function onPlayerError(event:Event):void { 
      traceArea.text += "player error: " + Object(event).data + "\r"; 
     } 

     private function onPlayerStateChange(event:Event):void { 
      traceArea.text += "player state: " + Object(event).data + "\r"; 
     } 

     private function onVideoPlaybackQualityChange(event:Event):void { 
      traceArea.text += "video quality: " + Object(event).data + "\r"; 
     } 
    } 
} 
+0

मेरा अनुमान है कि यह यूट्यूब खिलाड़ी में एक बग था, जहां त्रुटि नहीं था होगा घटना को प्रेषित करने से पहले ठीक से शुरू किया गया। दुर्भाग्यवश, मैं जो भी देख रहा हूं उसे डुप्लिकेट नहीं कर सकता - आपके द्वारा प्रदान किया गया नमूना कोड मेरे लिए ठीक काम करता है, जब भी मैं इसे चलाता हूं, बिना किसी त्रुटि के। –

+0

@joshbuhler क्या आपकी मशीन विशेष बनाती है? मैं कई बार यूएस/कानाडा प्रॉक्सी के माध्यम से भी जुड़ रहा था और पहले 4 वीडियो के लिए त्रुटि 0 जारी रहा। – Pleo

+0

क्या कोई और उपरोक्त कोड के साथ इस विचित्र त्रुटि प्राप्त कर रहा है? – Pleo

उत्तर

0

मैं 0 की एक त्रुटि राज्य चुकी थी - जब वीडियो का समय समाप्त।

यदि आप जो भी ब्राउज़र आप के साथ काम कर रहे हैं, उसके लिए डेवलपर टूल देखें, तो आपको 'videoplayback' नामक कॉलआउट देखना चाहिए जो समय समाप्त हो जाएगा। मेरे पास 7.5 मिनट के बाद समय समाप्त हो गया है, लेकिन यह कनेक्शन से संबंधित हो सकता है।

इसके अलावा, वर्तमान में प्रलेखित त्रुटि वाले राज्यों में 'टाइमआउट' त्रुटि शामिल नहीं है।

+0

लेकिन क्यों यह कभी भी कुछ वीडियो नहीं चलाता है और त्रुटि कोड 0 उत्पन्न करता है जबकि हमेशा बिना किसी समस्या के अन्य वीडियो चलाता है? – Pleo

+0

विकल्पों की सूची वर्तमान में है: एचटीएमएल 5 प्लेयर बनाम फ्लैश प्लेयर (कुछ वीडियो एक के लिए अनुकूलित किए जाते हैं और दूसरे नहीं) विज्ञापन - यूट्यूब स्ट्रीम में विज्ञापनों को इंजेक्ट करता है, और मुझे इसका पता लगाने के लिए कोई संकेत नहीं है। या आपने एक बार वीडियो चलाया और यह कहीं कैश हो गया। –

0

यह वही प्रश्न है YouTube AS3 Player API Error Code 0 ... बेशक, उस प्रश्न का कोई जवाब नहीं है, या तो (दिलचस्प है, कि वही 4 वीडियो अवांछनीय vids के उदाहरण के रूप में उपयोग किए जाते हैं)।

एकमात्र सुझाव जो मैं चाहता हूं वह डेटा में एक पैटर्न की तलाश करेगा। उदाहरण के लिए, v3 डेटा एपीआई दिखाती है कि आपके द्वारा सूचीबद्ध सभी 4 वीडियो जर्मनी में अवरुद्ध नहीं हैं, जबकि आपके द्वारा ऑफ़र किए जाने वाले किसी भी ब्लॉक में ऐसा कोई ब्लॉक नहीं है। यह धारणा का कारण बन जाएगा कि शायद त्रुटि क्षेत्र ब्लॉक से संबंधित है (ध्यान दें कि एक क्षेत्र ब्लॉक "एम्बेड करने योग्य" ब्लॉक से अलग है, जो कि मेटाडेटा है जिसे अपलोडर सेट कर सकता है)। जर्मनी में अवरुद्ध वीडियो सभी ऐसा इसलिए कर रहे हैं क्योंकि वेवो की अनुमति नहीं है, और वे सभी वेवो वीडियो हैं।

मैं निश्चित रूप से यह सुझाव नहीं दे रहा हूं कि "unplayableness" जानबूझकर है, हालांकि यह हो सकता है; मुझे प्रत्यक्ष दस्तावेज से अवगत नहीं है कि विवरण क्या होता है जब एपीआई (यूट्यूब साइट के विपरीत, जो वीडियो चलाने के लिए विभिन्न विधियों का उपयोग करता है ताकि आप कोई प्रत्यक्ष तुलना नहीं कर सकें) एक क्षेत्र अवरुद्ध वीडियो चलाने की कोशिश करता है। शायद @ डोमिनिक ओर्मे सही है कि यह एक टाइमआउट से संबंधित है, क्षेत्र ब्लॉक के कारण एक टाइमआउट (या क्षेत्र ब्लॉक को बाईपास करने के लिए प्रॉक्सी का उपयोग करने का प्रयास करके)।

आप पैटर्न को फिट करने वाले अन्य वीडियो ढूंढकर इस सिद्धांत का परीक्षण कर सकते हैं। उदाहरण के लिए, क्या वेवो वीडियो आपके कोड के साथ नामुमकिन हैं? क्या वीडियो अन्य देशों में भी अवरुद्ध हैं?

+0

मैं अपना खुद का पोस्ट करने से पहले, लेकिन फलहीन होने से पहले उस प्रश्न में एक नमूना कोड जोड़ने की कोशिश कर रहा था। वैसे भी, 4 वीडियो सभी वीवो वीडियो नहीं हैं, केवल तीसरा है। वास्तव में, वीवो वीडियो अधिक से अधिक playable हैं। मैं जर्मनी में नहीं हूं, इसलिए मैं यह नहीं बता सकता कि यह क्षेत्र अवरोध से कितना संबंधित है। मनाए गए पैटर्न में से एक यह होगा कि व्यावहारिक रूप से सभी बीटल्स वीडियो नामुमकिन हैं। इसके विपरीत, सभी वीडियो मेरे लिए YouTube साइट पर ठीक खेलते हैं। – Pleo

+0

हाँ ... वीवो मुद्दे पर मेरा बुरा। मैंने देखा कि टेलर स्विफ्ट vid था, और अन्य मैंने केवल डेटा एपीआई के माध्यम से देखा, इसलिए सिर्फ धारणा बनाई। हालांकि, पैटर्न अभी भी दिखाता है कि आपके द्वारा सूचीबद्ध 4 वीडियो जर्मनी में अवरुद्ध हैं (फिर से, मैं सुझाव नहीं दे रहा था कि आप जर्मनी में हैं, लेकिन शायद आंतरिक रूप से कुछ ऐसा है जो इससे संबंधित त्रुटि उत्पन्न कर रहा है)। आप कहते हैं कि वेवो वीडियो आम तौर पर काम करते हैं, और अतिरिक्त बीटल्स वीडियो नहीं करते हैं; क्या आप उन आईडी में से कुछ को देखने के लिए पेशकश कर सकते हैं? इसके अतिरिक्त, क्या ऐसे कोई वीडियो हैं जो संगीत नहीं हैं जो नहीं खेलते हैं? – jlmcdonald

+0

और दोहराने के लिए, मेरे अनुभव में साइट पर कुछ खेल आम तौर पर एपीआई के माध्यम से वीडियो चलाने की क्षमता से थोड़ा सा संबंध रखता है क्योंकि वे पुनर्प्राप्ति, प्लेबैक इत्यादि के लिए विभिन्न तरीकों से काम करते हैं। हालांकि आप यह भी रिपोर्ट करना चाहेंगे कि क्या ऐसा होता है जब आप इन वीडियो को आईफ्रेम के साथ एम्बेड करने का प्रयास करते हैं, जावास्क्रिप्ट एपीआई आदि के माध्यम से यह देखने के लिए कि क्या आपको अलग-अलग परिणाम मिलते हैं। – jlmcdonald

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