【问题标题】:Android webview video to play in mediaplayer在 mediaplayer 中播放的 Android webview 视频
【发布时间】:2014-03-19 08:43:20
【问题描述】:

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

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

通过什么方式来完成这个任务?

【问题讨论】:

  • 您必须在线播放视频?还是下载到设备上?
  • 流。我只需要覆盖视频标签中的播放按钮并将网址发布到android的默认媒体播放器。我该怎么做?
  • 只需对 tat 视频标签的点击事件做一个意图到 android 媒体播放器

标签: android html video webview media-player


【解决方案1】:

这样做

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.HitTestResult 来获取标签和 url,但是当我单击
【解决方案2】:

使用WebViewClient shouldOverrideUrlLoading 检测点击

webView.setWebViewClient(new MyWebClient());

private class MyWebClient extends WebViewClient {

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

【讨论】:

  • 这个问题是媒体播放器会在页面加载后开始查看 url,所以我猜 shouldOverrideUrlLoading() 会立即被调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 2017-12-29
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
  • 2012-09-07
  • 2021-05-30
相关资源
最近更新 更多