相关疑难解决方法(0)

WebView和HTML5 <video>

我正在拼凑一个廉价的应用程序,其中包括"框架"我们的一些网站...非常简单的WebViewClient.直到我点击视频.

该视频是作为HTML5 元素完成的,这些在Chrome,iPhone上工作得很好,现在我们修复了它Android在本机浏览器中运行良好的编码问题.

摩擦:WebView不喜欢它.完全没有.我可以点击海报图片,没有任何反应.

谷歌搜索,我发现是接近,但似乎是基于'链接'(如在href ...)而不是视频元素.(onDownloadListener似乎没有在视频元素上调用...)

我也看到覆盖onShowCustomView的引用,但似乎没有在视频元素上调用...还没有shouldOverrideUrlLoading ..

我宁愿不进入"从服务器拉xml,在应用程序中重新格式化"......通过在服务器上保留故事布局,我可以更好地控制内容而不强迫人们不断更新应用程序.因此,如果我可以说服WebView处理像本机浏览器这样的标签,那将是最好的.

我显然错过了一些明显的东西..但我不知道是什么.

video html5 android webview android-webview

122
推荐指数
5
解决办法
14万
查看次数

在Android WebView中播放Youtube HTML5嵌入式视频

我有运行的一个问题嵌入HTML5的Youtube网页视图.我想在我的应用程序上播放Youtube视频.我决定使用WebView而不是VideoView,因为我想让我的系统更灵活地从网上播放视频.

虽然有很多方法可以在Android上玩youtube,但我会使用youtube嵌入式版本." http://www.youtube.com/embed/___________________ ".因为这是我在你的android不支持flash时发现的解决方案之一.

问题:

WebView正常加载,包括嵌入的Youtube.但是我开始在youtube上看到黑屏.

当我点击它.它仅加载第一个图像,但之后它不播放.我尝试在Android浏览器上播放,它运行顺畅但不在webView中.

知道为什么吗?

以下只是我的代码片段:

WebView wv = new WebView(getApplicationContext());
wv.getSettings().setPluginState(PluginState.ON);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html");
setContentView(wv);
Run Code Online (Sandbox Code Playgroud)

以下是我发现非常有用的一些资源:

提前感谢您的支持和帮助:)


更新(2011年6月13日):

我成功加载了WebView中的http://m.youtube.com,但无法播放任何视频.但是当我尝试在我的Android浏览器上加载URL时,它可以播放.

从这里开始,我注意到我的WebView上的youtube站点没有登录.那么我们如何允许WebView使用与我手机中的Youtube帐户相同的凭据?它真的有效吗?

youtube video html5 android webview

26
推荐指数
2
解决办法
4万
查看次数

Android WebView播放HTML5/h.264/mp4视频,如何获取MediaPlayer

我有Activity一个WebView.我有一个WebChromeClient里面.在其中,有几个回调旨在返回MediaPlayer处理视频位.例如:

@Override
public void onPrepared(MediaPlayer mp) {
    Log.i(TAG, " -------------> onPrepared");
}
Run Code Online (Sandbox Code Playgroud)

当我将MP4流加载到WebView使用HTML <video>标记(通过注入)时,这些都无法触发.

当我finish()进行活动时,logcat会报告这个:

09-13 23:55:24.590: E/MediaPlayer(7949): mOnBufferingUpdateListener is null. Failed to send MEDIA_BUFFERING_UPDATE message.
09-13 23:55:24.680: E/MediaPlayer(7949): mOnBufferingUpdateListener is null. Failed to send MEDIA_BUFFERING_UPDATE message.
09-13 23:55:24.680: E/MediaPlayer(7949): mOnVideoSizeChangedListener is null. Failed to send MEDIA_SET_VIDEO_SIZE message.
09-13 23:55:25.675: E/MediaPlayer(7949): mOnBufferingUpdateListener is null. Failed to send MEDIA_BUFFERING_UPDATE message.
09-13 23:55:26.735: E/MediaPlayer(7949): mOnBufferingUpdateListener is null. Failed to …
Run Code Online (Sandbox Code Playgroud)

java android webview webchromeclient android-mediaplayer

19
推荐指数
1
解决办法
1万
查看次数

无法在Android Web View中查看视频

我的网页使用html5视频标签记录了视频文件.

我有一个嵌入式Web服务器(NanoHTTPD)运行,它从文件系统提供我的文件.其他一切都有效,但是当我点击播放HTML5视频时.它会出现以下错误,并且不播放视频

  09-29 20:38:36.620: D/HTML5VideoInline(11532): HTML5VideoInline created
09-29 20:38:36.625: V/MediaPlayer(11532): setVideoSurfaceTexture
09-29 20:38:36.625: V/MediaPlayer-JNI(11532): reset
09-29 20:38:36.625: V/MediaPlayer(11532): reset
09-29 20:38:36.625: I/MediaPlayer(11532): path is null
09-29 20:38:36.640: D/MediaPlayer(11532): setDataSource IOException happend : 
09-29 20:38:36.640: D/MediaPlayer(11532): java.io.FileNotFoundException: No content provider: http://10.207.114.115:8765/SLC/Book3_html/Book3/book/BO/demo.mp4
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:713)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:617)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.media.MediaPlayer.setDataSource(MediaPlayer.java:954)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.webkit.HTML5VideoView.prepareDataCommon(HTML5VideoView.java:326)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.webkit.HTML5VideoView.prepareDataAndDisplayMode(HTML5VideoView.java:363)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.webkit.HTML5VideoInline.prepareDataAndDisplayMode(HTML5VideoInline.java:72)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.webkit.HTML5VideoViewProxy$VideoPlayer.play(HTML5VideoViewProxy.java:289)
09-29 20:38:36.640: D/MediaPlayer(11532):   at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:465) …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-mediaplayer

15
推荐指数
1
解决办法
1068
查看次数

如何在WebView中内联播放html5视频?

我需要在WebView中内联播放html5视频.我发现了一种应该可行的技术,但它只能偶尔发挥作用(见问题末尾).如果它不起作用,则不会调用onShowCustomView.任何人都可以看到这个不起作用的原因或提出替代方案吗?

package com.richcollins.VideoView;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.FrameLayout;
import android.widget.VideoView;

public class WebViewActivity extends Activity
{
    WebView webView;
    FrameLayout frameLayout;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LayoutInflater inflator = getLayoutInflater();
        View inflatedView = inflator.inflate(R.layout.webview, null); 

        if (!(inflatedView instanceof FrameLayout))
        {
            throw new RuntimeException("inflated view not FrameLayout");
        }
        else
        {
            frameLayout = (FrameLayout)inflatedView;
        }

        setContentView(frameLayout);

        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        webView.setWebChromeClient(new …
Run Code Online (Sandbox Code Playgroud)

video html5 android webview

9
推荐指数
1
解决办法
9150
查看次数

Android(三星S4)HTML5视频暂停

我正在使用Android Webview播放html5视频,包括Youtube视频(我自己的标签和Youtube嵌入式iFrame).在以下情况下,我遇到了Samsung Galaxy S4的问题:

  1. 播放视频.
  2. 视频播放时/后按"后退"(查看关闭)
  3. 再次打开视图并按"播放".
  4. 视频开始播放并立即暂停.从这一刻起,我将尝试播放的每个视频都会发生同样的情况.

我在具有两种Webview的测试环境中尝试了这一点:"常规"Android Webview和HTML5 webview

我看到的唯一"可疑"的事情是在按下"后退"时出错(Android错误):

sendUserActionEvent() mView == null
Run Code Online (Sandbox Code Playgroud)

这是Galaxy S4问题吗?Android问题?任何的想法?

tnx,Yaniv

javascript html5 android android-webview html5-video

9
推荐指数
1
解决办法
4103
查看次数

为什么我的全屏webview在打开后会立即关闭?

我的全屏视频网页视图几乎总是在打开后立即关闭,有时它可以工作.几乎每次我点击YouTube视频上的全屏按钮时,您都可以看到屏幕闪烁到全屏并恢复原状.这可能是什么原因?

webview显示在tablayout/viewpager设置中,其中包含一些其他片段.

我用这段代码来显示视频:https: //github.com/cprcrack/VideoEnabledWebView

现在我正在使用这个https://github.com/GoogleChrome/chromium-webview-samples/blob/master/fullscreen-video-sample/app/src/main/java/fullscreenvideosample/android/chrome/google/com /fullscreenvideosample/MainActivity.java

它们产生完全相同的行为.

全屏失败时记录并在打开后立即恢复正常:

07-14 17:41:06.694 D/ViewRootImpl@33432e1[GroupActivity]: ViewPostImeInputStage processPointer 0
07-14 17:41:06.786 D/ViewRootImpl@33432e1[GroupActivity]: ViewPostImeInputStage processPointer 1
07-14 17:41:06.803 D/InputMethodManager: HSI from window - flag : 0 Pid : 6392
07-14 17:41:07.512 D/ViewRootImpl@33432e1[GroupActivity]: ViewPostImeInputStage processPointer 0
07-14 17:41:07.592 D/ViewRootImpl@33432e1[GroupActivity]: ViewPostImeInputStage processPointer 1
07-14 17:41:07.615 D/InputMethodManager: HSI from window - flag : 0 Pid : 6392
07-14 17:41:07.709 V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@3e22579 nm : com.linkhubapp ic=null
07-14 17:41:07.709 I/InputMethodManager: [IMM] startInputInner - mService.startInputOrWindowGainedFocus
07-14 17:41:07.713 …
Run Code Online (Sandbox Code Playgroud)

android fullscreen webview

8
推荐指数
1
解决办法
1185
查看次数

html5视频标签可与Android全屏播放

我正在创建一个移动网站,我有一个视频,当有人点击链接时我想玩这个视频:

<div id="player"></div>
<a href="#" onclick="DoNav('<?php echo $url; ?>');" title="Click to play video"> <?php echo $result_videos[$i]["camera_name"]; ?> </a>

<script type="text/javascript">
function DoNav(theUrl)
{

  // only add the player if it doesn't yet exist
  if($('#myfileplayer').length == 0) {
    var mydiv = $("#player");
    var myvideo = $("<video id='myfileplayer' src='"+ theUrl + "' width='320' height='240' controls></video>");
    mydiv.append(myvideo);
  } else {
    $('#myfileplayer').attr("src",theUrl); 
  }

} 
</script>
Run Code Online (Sandbox Code Playgroud)

使用iPhone,这很好用,我点击视频,它全屏显示.Android也可以使用,但它需要您点击要播放的视频然后点击全屏.当你上场时,是否可以像iPhone一样进入全屏?

jquery android html5-video

6
推荐指数
2
解决办法
1万
查看次数

如何在 Android WebView 中横向全屏播放视频?

  1. 我想在 Android 中全屏播放视频WebView,所以我使用 HTML5 标签<video>并将这些 Web 文件放入src/main/asset/...文件夹中。
  2. 但是当我点击“全屏”按钮时,视频只是移动到垂直方向的中心(纵向)。
  3. 那么,我的问题是如何设置横向全屏?谢谢。 在此输入图像描述

html video android webview

6
推荐指数
1
解决办法
7233
查看次数

在WebView中的HTML视频标记中同时播放多个视频

我创建了一个带有多个视频标签的简单HTML页面,并尝试在WebViewAndroid 4.2.2 本机上同时播放所有视频.但它适用于Android 4.2.2的Chrome浏览器.还尝试chrome-webview从我的应用程序中的GitHub捆绑使用android-chrome WebView类对象而不是本机webkit-engine/webview.它在HTML页面上显示播放器,但任何视频都无法播放.

我不明白为什么会这样,因为我甚至尝试过chrome-webview代码并获得相同的结果,请为我建议一些解决方案或替代方案.

我可以分享我的HTML代码

<!DOCTYPE html>
<html>
<head>
  <script>
    function init() {
      enableVideoClicks();
    }

    function enableVideoClicks() {
      var videos = document.getElementsByTagName('video') || [];
      for (var i = 0; i < videos.length; i++) {
        // TODO: use attachEvent in IE
        videos[i].addEventListener('click', function(videoNode) {
          return function() {
            videoNode.play();
          };
        }(videos[i]));
      }
    }
  </script>
</head>
<body onload="init()">


  <video src="movie1.mp4" poster = "l.jpg" width="400" height="300" autoplay controls loop></video>
  <video src="movie2.mp4" poster = …
Run Code Online (Sandbox Code Playgroud)

android android-webview

5
推荐指数
1
解决办法
2128
查看次数

无法在自定义 Webview 中全屏显示 Youtube 视频

更新

我已更新我的问题以隐藏机密代码。

如果仍然有一些困惑,请在评论中给我留言。

我编写了一个自定义 Webview,用于播放嵌入在我网站中的 youtube 视频以全屏显示。

但它仍然无法正常工作... 请帮助

   public class MainActivity extends Activity  implements OnClickListener {

          final Context context = this;
        private WebView webView;
         private ImageButton btnrefresh;    
         private TextView txtrefresh;
           private myWebChromeClient mWebChromeClient;
         private Menu optionsMenu;
         private WebChromeClient.CustomViewCallback customViewCallback;
            private View mCustomView;       
            private FrameLayout customViewContainer;


        @SuppressWarnings("deprecation")
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            //Tushar
              customViewContainer = (FrameLayout) findViewById(R.id.customViewContainer);
            //Tushar
            //define button 
            btnrefresh = (ImageButton) findViewById(R.id.imageButton1);

            btnrefresh.setOnClickListener(this);
            btnrefresh.setVisibility(View.GONE);

            //define textView
            txtrefresh = (TextView)findViewById((R.id.textView1));
            txtrefresh.setVisibility(View.GONE);


            if(isConnected())
            {

                webView = (WebView) …
Run Code Online (Sandbox Code Playgroud)

youtube android webview

5
推荐指数
1
解决办法
7865
查看次数

YouTube视频无法在WebView中播放

YouTube视频无法在WebView中播放.

这是我的第一个应用程序,我想做一个webview.当我打开YouTube时,视频没有播放,正在加载但没有播放.正在加载所有时间.非常感谢你的帮助.

Java的:

public class MainActivity extends Activity {

    private WebView mWebView;  

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://www.google.com");
        mWebView.setWebViewClient(new HelloWebViewClient());

    }

private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webview, String url)
        {
        webview.loadUrl(url);
        return true;
    }}

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())
        {
            mWebView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);

    }   }
Run Code Online (Sandbox Code Playgroud)

XML:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" …
Run Code Online (Sandbox Code Playgroud)

youtube video android webview

4
推荐指数
1
解决办法
3万
查看次数

Android webview 全屏播放视频不起作用

在我的网络视图中,视频无法全屏显示。当我按下 YouTube 视频上的全屏按钮时,chrome 控制台显示以下错误。

Uncaught (in promise) TypeError: fullscreen error
Run Code Online (Sandbox Code Playgroud)

控制台错误

系统

Android 10
Chrome version: 83.0.4103.106
Run Code Online (Sandbox Code Playgroud)

应用程序配置

compileSdkVersion 28
defaultConfig {
    minSdkVersion 22
    targetSdkVersion 28
}

webviewSettings.setJavaScriptEnabled(true);
webviewSettings.setDomStorageEnabled(true);
webviewSettings.setSupportMultipleWindows(false);
webviewSettings.setJavaScriptCanOpenWindowsAutomatically(false);
Run Code Online (Sandbox Code Playgroud)

该错误与此错误Bug 945287相关,但它应该在我的版本中修复。在网络视图中全屏显示嵌入视频是否需要任何其他设置?

android webview html5-video

4
推荐指数
1
解决办法
2万
查看次数