2012-12-01 56 views
0

我試圖在videoView中播放YouTube視頻。在視頻中播放YouTube視頻查看

我發現這裏是做這項工作的樣本例如: http://code.google.com/p/android-youtube-player/

一段視頻ID,它做工精細,其他一些視頻我得到一個對話框:

通信錯誤:eccured錯誤在檢索視頻期間。這可能是由於網絡問題或Youtube協議。請稍後再試。

我一再嘗試這些視頻ID,它不起作用。

這裏的例外,我得到我的logcat:

12-01 01:24:20.871: E/QueryYouTubeTask(21326): Error occurred while retrieving information from YouTube. 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): java.lang.NullPointerException 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at libcore.net.UriCodec.decode(UriCodec.java:153) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.net.URLDecoder.decode(URLDecoder.java:45) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at com.keyes.youtube.YouTubeUtility.calculateYouTubeUrl(YouTubeUtility.java:137) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at com.keyes.youtube.OpenYouTubePlayerActivity$QueryYouTubeTask.doInBackground(OpenYouTubePlayerActivity.java:385) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at com.keyes.youtube.OpenYouTubePlayerActivity$QueryYouTubeTask.doInBackground(OpenYouTubePlayerActivity.java:1) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
12-01 01:24:20.871: E/QueryYouTubeTask(21326): at java.lang.Thread.run(Thread.java:856) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): Error playing video! 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): java.lang.RuntimeException: Invalid NULL Url. 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at com.keyes.youtube.OpenYouTubePlayerActivity$QueryYouTubeTask.onPostExecute(OpenYouTubePlayerActivity.java:418) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at com.keyes.youtube.OpenYouTubePlayerActivity$QueryYouTubeTask.onPostExecute(OpenYouTubePlayerActivity.java:1) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.os.AsyncTask.finish(AsyncTask.java:631) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.os.AsyncTask.access$600(AsyncTask.java:177) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.os.Looper.loop(Looper.java:137) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at android.app.ActivityThread.main(ActivityThread.java:4745) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at java.lang.reflect.Method.invokeNative(Native Method) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at java.lang.reflect.Method.invoke(Method.java:511) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
12-01 01:24:20.902: E/QueryYouTubeTask(21326): at dalvik.system.NativeStart.main(Native Method) 

任何一個有一個想法,這裏有什麼問題嗎? 你有沒有解釋,爲什麼一些視頻工作正常,其他不工作?可能有視頻私密和視頻公開?

最後我得到的解決方案:一些視頻不工作,因爲視頻的擁有者沒有把視頻disponible到手機:)

回答

0

這不是由YouTube正式支持的功能,所以有可能是案件這個庫不能正確處理,在谷歌I/O 2012期間谷歌表示他們將很快發佈一個官方YouTube庫,這將使Android開發人員能夠在他們的應用內播放視頻。

+0

你有一個解釋,爲什麼一些視頻做工精細等不工作?可能有視頻私密和視頻公開? –

0

最後我得到的解決方案:一些視頻不工作,因爲視頻的擁有者沒有把視頻disponible到手機:)