android - 如何在 android 视频 View 中播放位于某个 URL 位置的视频?

标签 android mobile permissions youtube-api android-videoview

我试图在视频 View 中播放 youtube 视频,但一直出现错误(无法播放此视频)(在设备和模拟器上也是如此)。请帮我解决这个问题。 提前致谢。

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;

public class AndroidVideoView extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    VideoView myVideoView = (VideoView) findViewById(R.id.videoview);

    String viewSource = "rtsp://v2.cache8.c.youtube.com/CjYLENy73wIaLQndUnGVjs340xMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYJP8mrqSz625UAw=/0/0/0/video.3gp";
    myVideoView.setVideoURI(Uri.parse(viewSource));
    myVideoView.requestFocus();
    myVideoView.start();

}

最佳答案

1) 视频不会在模拟器上缓冲,因为它是虚拟设备。在顺序流视频你应该使用真实的设备

2) 您必须提供此权限,因为如果没有互联网连接,我们将无法连接到 YouTube 服务器

 <uses-permission android:name="android.permission.INTERNET" />

3) 请验证您的 RTSP 链接。下面给出了我的 YouTube video 的 rtsp 链接

"rtsp://v1.cache6.c.youtube.com/CiILENy73wIaGQnCikhfRzTDsBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";

生成rtsp链接使用这个

http://gdata.youtube.com/feeds/mobile/videos/"+Video Id+"

在我的例子中,Video IdsMM0R19IisI

我的代码

public class MainActivity extends Activity {

String SrcPath = "rtsp://v1.cache6.c.youtube.com/CiILENy73wIaGQnCikhfRzTDsBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";//"rtsp://v5.cache1.c.youtube.com/CjYLENy73wIaLQnhycnrJQ8qmRMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPj_hYjnq6uUTQw=/0/0/0/video.3gp";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); 
    VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview);
    myVideoView.setVideoURI(Uri.parse(SrcPath));
    myVideoView.setMediaController(new MediaController(this));
    myVideoView.requestFocus();
    myVideoView.start();
   }
}

布局 XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">

<VideoView
   android:id="@+id/myvideoview"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content" />

</LinearLayout>

关于android - 如何在 android 视频 View 中播放位于某个 URL 位置的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12871180/

相关文章:

javascript - 停止移动设备上的 HTML 视频自动播放

c# - Windows Phone 8.1 Binding only "Left"Margin 属性

html - 我可以在我的移动网站中使用 html5 吗?

docker - 在/usr/local/bin/docker-compose上允许 'anyone'可执行权限?

android - 如何为 libusb android 应用程序授予/dev/bus/usb 权限?

java - 有条件地更改 ListView 行的背景颜色

android - 如何在 Github 库中添加更改?

Android 将 List<String[]> 转换为 String[]

linux - 如何更改/proc/self/pagemap 文件的权限。?

android - 如何将 ArrayList 写入文件并检索它?