当前位置: 首页 > 知识库问答 >
问题:

给定URL在android中播放视频

莘睿
2023-03-14

我对录影带所能想象到的知识微乎其微。尽管如此,我正在构建一个需要以下功能的应用程序:给定视频的url,播放视频。这个看似简单的任务对我来说却是非常困难的。下面是我的代码

XML:

    <VideoView
    
    android:id="@+id/videoview"
    
    android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_gravity="center"

        android:background="@color/primary_dark"/>

Java:

private void setupVideoToPlay(Bundle savedInstanceState,View parent) {
   mVideoView=(VideoView)parent.findViewById(R.id.videoview);
    
   mMediaController=new MediaController(getContext());
   mMediaController.setAnchorView(mVideoView);
   mVideoView.setMediaController(mMediaController);
      
   mVideoView.setVideoURI(Uri.parse(mVideoUrl));
    
   mVideoView.requestFocus();
   if(null != savedInstanceState ) {
      int position = savedInstanceState.getInt(VIDEO_SEEK_POSITION);
      mVideoView.seekTo(position);
   } else {
      mVideoView.start();
    
   }
}

下面是我得到的错误:

D/MediaPlayer﹕ setDataSource IOException happend :
    java.io.FileNotFoundException: No content provider: https://www.youtube.com/watch?feature=player_detailpage&v=c4rSDxwHJI0
            at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1074)
            at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:927)
            at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:854)
            at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1085)
            at android.widget.VideoView.openVideo(VideoView.java:370)
            at android.widget.VideoView.access$2100(VideoView.java:73)
            at android.widget.VideoView$7.surfaceCreated(VideoView.java:651)
            at android.view.SurfaceView.updateWindow(SurfaceView.java:606)
            at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:184)
            at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:895)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2158)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1185)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6591)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
            at android.view.Choreographer.doCallbacks(Choreographer.java:590)
            at android.view.Choreographer.doFrame(Choreographer.java:560)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5837)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)

有趣的是,我可以看到控制肥大底部的VideoView一瞬间。但没有视频播放,只有VideoView的背景显示。有人知道我该怎么解决吗?

一旁

否则,是否有已知的库可以做到这一点?理想情况下,我希望能够使用youtube视频链接或任何其他视频链接。我看过Explayer和Protyposis,但两个词/概念都超出了我的理解;例如,TrackRenderer和ChunkSampleSource。此外,Youtube API本身似乎有一些问题:设备必须安装Youtube应用程序,我必须提供videoId而不是视频的url。(我还没有深入研究到是否可以从url解析videoId)。

备注

我用Youtube视频链接和非Youtube视频链接尝试过这一点。对于Youtube链接,我在视频上点击右键来获得链接。

共有1个答案

施永宁
2023-03-14

有人知道我该怎么解决吗?

为采用受支持的媒体格式之一并通过受支持的协议之一提供服务的视频提供URI,而不是为网页提供URIhttps://www.youtube.com/watch?feature=player_detailpage&v=c4rsdxwhji0是一个网页。

 类似资料:
  • 问题内容: 我在android中实现了视频播放,这对android来说是全新的,这是我到目前为止收集的部分代码。 根据逻辑,它应该播放视频。不知道我在哪里做错了。 问题答案:

  • 我正在开发一个应用程序,我使用了谷歌的ExoPlayer,它工作起来很有魅力,现在我想在我的应用程序中添加RTSP支持,但使用ExoPlayer我无法播放,请任何人都可以帮我,如果有人有其他选择,请与我分享。 日志 E/ExoPlayerImplInternal:源错误。网蝴蝶电视。rtmp_客户端。RtmpClient$RtmpIOException at net。蝴蝶电视。rtmp_客户端。R

  • 我在服务器中创建了一个XML文件。它包含和标记。我获取标记并将它们作为链接显示在中。当用户点击链接时,我想播放电台应用程序中的文件。 下面是我的XML文件: 我不知道下一个活动中的链接怎么玩。 :

  • RTSP视频可以在Android MediaPlayer中播放吗?如果是,怎么做?我得到的服务器死亡错误(100,0)这是我的编码部分包com的错误。实例样本媒体; 这是我的Logcat结果,我得到的结果是07-09 12:17:05.484:E/MediaPlayer(3990):error(1,-2147483648)07-09 12:17:05.484:W/System。err(3990):

  • 我是绑定播放YouTube视频在WebView,WebView显示视频的第一个外观与播放按钮,但点击播放按钮后开始进度条和2-3秒后停止进度条和屏幕空白与黑色。 Image1:带播放按钮的视频首次查看 Image2:点击播放按钮后,屏幕变为空白。

  • 我有一个URL:-“http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_jtvchi1”当我在浏览器上运行这个URL时,我的VDO开始下载。 请帮助在视图中播放此视频(让视图名称为:-vdoView) 为此,我尝试以下代码:-