无法在 videoview 中播放来自 youtube url 的视频
Unable to play video in videoview from youtube url
我想在 android VideoView 中跟随 youtube url 播放,但它不是流媒体视频
https://www.youtube.com/watch?v=h-gEwftyPCg
以下是我的代码
VideoView videoView = (VideoView) getView().findViewById(R.id.dealVideo);
MediaController mc = new MediaController(getContext());
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
videoView.setVideoURI(Uri.parse("https://www.youtube.com/watch?v=h-gEwftyPCg"));
videoView.start();
我也想支持非 YouTube 视频url
您不能直接在 VideoView 中播放 youtube link。
您需要集成 youtube 播放器。
查看此操作:
https://developers.google.com/youtube/android/player/
找了半天,找到了这种实现方式。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.about_fragment, container, false);
String frameVideo = "<html><body><br><iframe width=\"320\" height=\"200\" src=\"https://www.youtube.com/embed/XDYbEuY8nIc\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
WebView displayYoutubeVideo = (WebView) rootView.findViewById(R.id.videoView);
displayYoutubeVideo.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
WebSettings webSettings = displayYoutubeVideo.getSettings();
webSettings.setJavaScriptEnabled(true);
displayYoutubeVideo.loadData(frameVideo, "text/html", "utf-8");
return rootView;
}
在layout.xml里面:
<WebView android:id="@+id/videoView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginTop="-45dp"
android:layout_marginLeft="-5dp"/>
这会很好用。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
接受许可
我想在 android VideoView 中跟随 youtube url 播放,但它不是流媒体视频
https://www.youtube.com/watch?v=h-gEwftyPCg
以下是我的代码
VideoView videoView = (VideoView) getView().findViewById(R.id.dealVideo);
MediaController mc = new MediaController(getContext());
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
videoView.setVideoURI(Uri.parse("https://www.youtube.com/watch?v=h-gEwftyPCg"));
videoView.start();
我也想支持非 YouTube 视频url
您不能直接在 VideoView 中播放 youtube link。
您需要集成 youtube 播放器。
查看此操作: https://developers.google.com/youtube/android/player/
找了半天,找到了这种实现方式。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.about_fragment, container, false);
String frameVideo = "<html><body><br><iframe width=\"320\" height=\"200\" src=\"https://www.youtube.com/embed/XDYbEuY8nIc\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
WebView displayYoutubeVideo = (WebView) rootView.findViewById(R.id.videoView);
displayYoutubeVideo.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
WebSettings webSettings = displayYoutubeVideo.getSettings();
webSettings.setJavaScriptEnabled(true);
displayYoutubeVideo.loadData(frameVideo, "text/html", "utf-8");
return rootView;
}
在layout.xml里面:
<WebView android:id="@+id/videoView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginTop="-45dp"
android:layout_marginLeft="-5dp"/>
这会很好用。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
接受许可