Android-找不到Youtube 3gp文件

Android-找不到Youtube 3gp文件,android,youtube-api,android-video-player,Android,Youtube Api,Android Video Player,我试图在我的Android应用程序上播放youtube视频,但我无法访问youtube Api返回给我的3gp url。 我试图在VLC播放器和QuickTime播放器中打开它,但响应总是播放器无法接收数据。 以下是VLC播放器日志: 主要调试:rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'成功打开 live555警告:10秒内未收到任何数据。切换到T

我试图在我的Android应用程序上播放youtube视频,但我无法访问youtube Api返回给我的3gp url。 我试图在VLC播放器和QuickTime播放器中打开它,但响应总是播放器无法接收数据。 以下是VLC播放器日志:

主要调试:rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'成功打开 live555警告:10秒内未收到任何数据。切换到TCP avcodec调试:ffmpeg编解码器H263已停止 主调试:删除模块avcodec 主要调试:在FIFO中杀死解码器fourcch263',0个PES avcodec调试:ffmpeg编解码器AMR窄带已停止 主调试:删除模块avcodec 主要调试:在FIFO中终止解码器fourcc samr',0 PES 主调试:程序不再包含任何错误 live555调试:RTP子会话“视频/H263-2000” 主要调试:寻找解码器模块:32个候选模块 avcodec调试:libavcodec已初始化 avcodec调试:尝试使用直接渲染 avcodec调试:ffmpeg编解码器H263已启动 主要调试:使用解码模块avcodec 主要调试:定时器模块需要:0.758毫秒-总计0.758毫秒/1 intvls平均0.758毫秒 主调试:以优先级0.././src/input/decoder创建的线程解码器。c:301 主调试:线程已启动 live555调试:RTP子会话“音频/AMR” 主要调试:寻找解码器模块:32个候选模块 avcodec调试:libavcodec已初始化 avcodec调试:ffmpeg编解码器AMR窄带已启动 avcodec调试:使用192000字节输出缓冲区 主要调试:使用解码模块avcodec 主要调试:定时器模块需要:391.931 ms-总计391.931 ms/1 intvls平均值391.931 ms 主调试:以优先级22.././src/input/decoder创建的线程解码器。c:301 主调试:线程已启动 live555调试:安装程序开始:0.000000停止:28.666000 live555调试:播放开始:0.000000停止:28.666000 live555错误:10秒内未收到任何数据,正在中止 主调试:达到EOF 主调试:完成输入 avcodec调试:ffmpeg编解码器H263已停止 主调试:删除模块avcodec 主要调试:在FIFO中杀死解码器fourcch263',0个PES avcodec调试:ffmpeg编解码器AMR窄带已停止 主调试:删除模块avcodec 主要调试:在FIFO中杀死解码器fourcc`samr',0个PES 主调试:删除模块live555 主调试:程序不再包含任何错误 主调试:线程结束 主调试:死输入 主调试:在没有请求的情况下更改项当前为0/1 主调试:无需播放 macosx调试:输入已停止,正在刷新接口 主调试:启动'rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp':449.262毫秒-总计449.262毫秒/1英寸VLS平均值449.262毫秒

这是Android日志:

05-18 14:51:42.008:D/MediaPlayer2152:无法在客户端打开文件,正在尝试服务器端 05-18 14:51:42.258:D/MediaPlayer2152:getMetadata 05-18 14:51:53.823:E/MediaPlayer2152:错误1,-2147483648 05-18 14:51:53.823:E/MediaPlayer2152:错误1,-2147483648 05-18 14:51:53.823:D/VideoView2152:错误:1,-2147483648 05-18 14:51:54.060:D/AndroidRuntime2152:关闭虚拟机 05-18 14:51:54.060:W/dalvikvm2152:threadid=1:thread退出,未捕获异常组=0x409c01f8 05-18 14:51:54.088:E/AndroidRuntime2152:致命异常:主 05-18 14:51:54.088:E/AndroidRuntime2152:android.view.WindowManager$BadTokenException:无法添加窗口标记android.app.LocalActivityManager$LocalActivityRecord@418c8408无效;你的活动正在进行吗? 05-18 14:51:54.088:E/AndroidRuntime2152:at android.view.ViewRootImpl.setViewViewRootImpl.java:513 05-18 14:51:54.088:E/AndroidRuntime2152:at android.view.WindowManagerImpl.addViewWindowManagerImpl.java:301 05-18 14:51:54.088:E/AndroidRuntime2152:at android.view.WindowManagerImpl.addViewWindowManagerImpl.java:215 05-18 14:51:54.088:E/AndroidRuntime2152:at android.view.WindowManagerImpl$CompatModeWrapper.addViewWindowManagerImpl.java:140 05-18 14:51:54.088:E/AndroidRuntime2152:at android.view.Window$LocalWindowManager.addViewWindow.java:537 05-18 14:51:54.088:E/AndroidRuntime2152:at-android.app.Dialog.showDialog.java:278 05-18 14:51:54.088:E/AndroidRuntime2152:at android.app.AlertDialog$Builder.showAlertDialog.java:932 05-18 14:51:54.088:E/AndroidRuntime2152:at-android.widget.VideoView$4.onerrorvideview.java:382 05-18 14:51:54.088:E/AndroidRuntime2152:at android.media.MediaPlayer$EventHandler.handleMessageMediaPlayer.java:1553 05-18 14:51:54.088:E/AndroidRuntime2152:at android.os.Handler.dispatchMessageHandler.java:99 05-18 14:51:54.088:E/AndroidRuntime2152:at-android.os.Looper.Looper.java:137 05-18 14:51:54.088:E/AndroidRuntime2152:at android.app.ActivityThread.mainActivityThread.java:4424 05-18 14:51:54.088:E/AndroidRuntime2152:at java.lang.reflect.Metho d、 调用方法 05-18 14:51:54.088:E/AndroidRuntime2152:at java.lang.reflect.Method.invokeMethod.java:511 05-18 14:51:54.088:E/AndroidRuntime2152:com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:784 05-18 14:51:54.088:E/AndroidRuntime2152:com.android.internal.os.ZygoteInit.mainZygoteInit.java:551 05-18 14:51:54.088:E/AndroidRuntime2152:at dalvik.system.NativeStart.main本地方法

我的视频活动课播放视频:



    public class VideoActivity extends Activity{

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.video);

            VideoView videoView = new VideoView(this);
            String urlRtsp = "rtsp://v5.cache2.c.youtube.com/CiILENy73wIaGQmyk7Qe6Z5HyRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";
            videoView.setVideoURI(Uri.parse(urlRtsp));
            videoView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

            videoView.setMediaController(new MediaController(this));
            videoView.requestFocus();
            videoView.start();
            LinearLayout main = (LinearLayout) findViewById(R.id.video_layout);
            main.addView(videoView);        
       }


    }

我想了解的是,这是否是Youtube的问题,或者我的代码中是否有错误。 我已经尝试了很多视频,代码中的那个只是我最后一次尝试。
我使用的是Android SDK版本15。

在OP使用此建议解决问题时,将其作为答案发布,以便对其他寻求类似解决方案的人有所帮助


有一个开源项目,可以在VideoView中播放YouTube视频,名为。还提供了一个示例活动,以便对组件进行测试。

您不能在android视频视图中加载youtube视频。但是您可以使用webview,加载相应视频URL的嵌入代码,因为链接也不能从桌面版本的VLC播放。您可以查看一个播放Youtube视频的活动,它是开源的。@Aerow:为什么我不能这样做?我的代码是根据不同的教程编写的。无论如何,我也尝试使用带有Youtube嵌入代码的WebView,但结果只是一个空的白色或黑色矩形,我不知道为什么它不总是白色或黑色。@Rajesh:我会看一看,谢谢。@Rajesh:这似乎是一个很好的解决方案,但我有一些问题希望解决。再次感谢你,我不知道这个资源!