`
jsntghf
  • 浏览: 2532706 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

WebView中的视频播放

阅读更多

activity_main.xml如下:

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

    <WebView
        android:id="@+id/videoWebView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true" />

</LinearLayout>

 

实现代码:

public class MainActivity extends Activity {

	private WebView videoWebView;
	private String videoUrl = "视频地址.mp4";
	private String imgUrl = "视频封面图片地址.png";
	private String html = "<html>视频如下:<br/><a href='" + videoUrl
			+ "' width='650' height='450' frameborder='0'><img src='" + imgUrl
			+ "' /></a></html>";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		videoWebView = (WebView) findViewById(R.id.videoWebView);

		WebSettings setting = videoWebView.getSettings();
		setting.setJavaScriptEnabled(true);
		setting.setDomStorageEnabled(true);
		setting.setDatabaseEnabled(true);
		setting.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
		setting.setDefaultTextEncodingName("UTF-8");

		videoWebView.setWebChromeClient(new WebChromeClient());
		videoWebView.setWebViewClient(new MyWebViewClient());
		videoWebView.loadData(html, "text/html;charset=UTF-8", "UTF-8");
	}

	public class MyWebViewClient extends WebViewClient {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url) {
			if (url.endsWith(".mp4")) {
				Intent intent = new Intent(Intent.ACTION_VIEW);
				intent.setDataAndType(Uri.parse(url), "video/*");
				view.getContext().startActivity(intent);

				return true;
			} else {
				return super.shouldOverrideUrlLoading(view, url);
			}
		}
	}
}

 

分享到:
评论

相关推荐

    Android WebView播放视频(包括全屏播放)

    - 默认情况下,WebView可能不支持视频播放,需要设置`WebSettings.mediaPlaybackRequiresUserGesture = false;`允许自动播放视频。 4. **HTML5 `&lt;video&gt;`标签**: - 在网页中,使用HTML5的`&lt;video&gt;`标签来插入...

    android webview播放网页视频

    下面我们将深入探讨如何在Android Webview中实现网页视频播放,并提供一个简单的示例。 首先,我们需要确保Webview能够处理HTML5视频标签。Android的Webview默认支持HTML5,但是某些功能可能需要更新或者自定义设置...

    IOS开发webview强制视频内联播放(在没有设置webview.allowsInlineMediaPlayback的情况下也有效)!

    在iOS开发中,Webview是用于展示网页内容的重要组件,而如何处理网页中的视频播放,尤其是实现内联播放,是一个常见的需求。内联播放意味着视频将在网页内容中直接播放,而不是弹出全屏播放器。通常,我们可以通过...

    Android WebView cache 缓存 在线 视频播放

    本文将详细讲解如何利用WebView实现在线视频播放,并探讨其缓存策略,以便实现离线阅读。 一、WebView基础 1. 初始化WebView:首先,我们需要在布局XML文件中添加WebView元素,然后在Java代码中通过findViewById()...

    Android中WebView播放网上视频,横竖屏切换

    当涉及到横竖屏切换时,Android系统会默认销毁并重新创建当前Activity,这可能导致WebView的视频播放状态丢失。为解决这个问题,我们可以采用以下策略: 1. **配置Activity**:在AndroidManifest.xml中,将Activity...

    webview播放视频代码

    本篇文章将深入探讨如何在WebView中实现视频播放,并支持全屏及自定义视频播放器。 首先,我们要理解WebView的基本用法。在Android中,可以通过`WebView`类来创建一个WebView对象,然后加载指定的网页URL或者本地...

    Webview播放网络视频并实现全屏显示,解决声音问题

    这里,`controls`属性会显示视频播放控制器。 ### 3. 实现全屏播放 为了让WebView中的视频能全屏显示,我们可以通过JavaScript接口与Android原生代码交互。创建一个JavaScript接口: ```java webView....

    WebView网络视频播放Demo

    免费教大家做android手机引擎播放,针对WebView网页播放,适用于广大码友

    webView加载网络播放视频

    4. **处理视频播放**: 当`&lt;video&gt;`标签在网页中被点击时,默认情况下,Android的WebView会在内置的媒体播放器中打开视频。然而,为了保持在WebView内部播放,你需要重写`shouldOverrideUrlLoading`方法。这样,当...

    WebView播放网页视频

    总之,WebView在Android应用中播放网页视频涉及到了一系列的设置和配置,包括启用JavaScript、处理视频播放事件、优化性能以及安全措施等。通过正确配置和使用WebView,可以为用户提供无缝的视频观看体验。

    Webview视频播放

    在“Webview视频播放”这个小demo中,我们主要关注的是如何在WebView中实现视频的流畅播放。这涉及到几个关键知识点,包括WebView的基本使用、HTML5视频标签的运用以及可能涉及的权限和优化策略。 首先,我们要了解...

    WebView实现网络视频的播放和离线观看

    在网络视频播放方面,通常需要网页支持HTML5的`&lt;video&gt;`标签,因为WebView原生支持HTML5。你可以直接提供一个包含视频源的网页URL,例如: ```html Your browser does not support the video tag. ``` 然而,...

    webview支持html5视频播放实例_浏览器实现视频播放代码.zip

    在Android中,WebView需要额外的配置来支持HTML5视频播放。首先,你需要在AndroidManifest.xml文件中为应用添加互联网权限: ```xml ``` 然后,在Java代码中,设置WebView的WebSettings以启用JavaScript执行和...

    webview全屏播放视频demo

    接下来,HTML5的视频播放涉及到`&lt;video&gt;`标签的使用。一个基本的HTML5视频标签可能如下所示: ```html Your browser does not support the video tag. ``` 为了使视频能够全屏播放,我们需要在JavaScript中...

    安卓浏览器WebViewJSHTML5相关-webview播放视频集合几种平时研究过的播放方法.zip

    通过JavaScript与Java的交互,可以在HTML中调用自定义的播放器进行视频播放。 6. 全屏模式:WebView中的视频可以通过JavaScript或者Java接口触发全屏模式。在Android中,可以使用`setVideoScaleMode()`和`...

    安卓直播视频播放流媒体IPCameraRTSPDLNA相关-webview全屏播放网络视频.rar

    本文将深入探讨这些技术,并结合"webview全屏播放网络视频"的主题,解析如何在Android的WebView中实现全屏网络视频播放。 首先,让我们了解几个关键术语: 1. **IP Camera**: IP Camera(网络摄像机)是一种可以...

    webview加载html,播放音视频,响应js事件

    3. **HTML中的音视频播放**: 在HTML中,我们可以使用`&lt;audio&gt;`和`&lt;video&gt;`标签来嵌入音频和视频。例如: ```html &lt;audio id="myAudio" src="audio.mp3" controls&gt;&lt;/audio&gt; ...

    webview播放在线视频

    本篇文章将深入探讨如何在`WebView`中实现调用网上视频播放。 ### 一、WebView基本使用 1. **添加依赖** 首先,在`build.gradle`文件中确保添加了`WebView`所需的依赖库: ```groovy implementation 'androidx....

    WebView头部添加android原生视频播放

    当网页中的视频需要在WebView头部进行原生播放时,我们需要监听WebView内的视频播放事件。这通常通过注入JavaScript接口来完成。在Java代码中,我们可以创建一个JavaScriptInterface,然后使用`webView....

Global site tag (gtag.js) - Google Analytics