2012-12-01 54 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到手机:)