在mediaplayer中播放Android webview视频

在mediaplayer中播放Android webview视频,android,html,video,webview,media-player,Android,Html,Video,Webview,Media Player,我目前正在构建一个应用程序,它显示带有html标记的内容。内容有一个HTML5视频标签,显示来自外部源的视频 通过使用webview.loadDataWithBaseURL(),我加载html页面。网络视图显示视频以及控件(播放、停止等)。我想做的是,当我点击视频时,它将触发android默认mediaplayer,用于下载和播放视频源,而不是与webview内联播放视频 通过哪种方式来完成这项任务?请这样做 Intent intent = new Intent(); intent.setAct

我目前正在构建一个应用程序,它显示带有html标记的内容。内容有一个HTML5视频标签,显示来自外部源的视频

通过使用webview.loadDataWithBaseURL(),我加载html页面。网络视图显示视频以及控件(播放、停止等)。我想做的是,当我点击视频时,它将触发android默认mediaplayer,用于下载和播放视频源,而不是与webview内联播放视频

通过哪种方式来完成这项任务?

请这样做

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("http://your_video_link), "video/mp4");

添加权限android.permission.WRITE_EXTERNAL_STORAGE

使用
webview客户端应覆盖下载
检测点击

webView.setWebViewClient(new MyWebClient());

private class MyWebClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {}

你必须在线播放视频吗?或下载到设备?流。我只需要覆盖视频标签中的播放按钮,并将url发布到android的默认媒体播放器。我该怎么做?只需对android MediaPlayer执行tat视频标签点击事件的意图我知道如何打开媒体播放器,但我不能做的是如何检测视频标签上的点击事件,然后打开意图。我使用WebView.HitTestResult来获取标记和url,但是当我单击标记时,它总是返回null。我正在使用android 4.4来调试它,问题是mediaplayer会在页面加载后立即开始查看url,所以我想应该立即调用shouldOverrideUrlLoading()。