Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在webview中播放视频_Android_Flash_Webview_Html5 Video - Fatal编程技术网

Android 在webview中播放视频

Android 在webview中播放视频,android,flash,webview,html5-video,Android,Flash,Webview,Html5 Video,我想构建一个应用程序,在android机顶盒的网络视图中访问youtube.com/tv。我可以通过加载来让它工作,但这需要永远。我注意到android浏览器就是这样做的。我最近一直在使用opera mobile,并注意到它运行得完美无缺,它还在opera中声明我的pugins没有启用 问题1:opera Mobile如何在youtube.com/tv上渲染视频,它是否自带flash 问题2:实现这一点的最佳方式是什么?我已将代码还原为基本webView以重新开始 import android.

我想构建一个应用程序,在android机顶盒的网络视图中访问youtube.com/tv。我可以通过加载来让它工作,但这需要永远。我注意到android浏览器就是这样做的。我最近一直在使用opera mobile,并注意到它运行得完美无缺,它还在opera中声明我的pugins没有启用

问题1:opera Mobile如何在youtube.com/tv上渲染视频,它是否自带flash

问题2:实现这一点的最佳方式是什么?我已将代码还原为基本webView以重新开始

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class TvbrowserActivity extends Activity
{
final Activity activity = this;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main);
    WebView webView = (WebView) findViewById(R.id.webview);
    String ua = " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19";
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.getSettings().setUserAgentString(ua);


    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            // Handle the error
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    webView.loadUrl("http://youtube.com/tv");
}
}

我还在android清单中的活动中设置了硬件加速,检查代码是否有用

  myWebView = (WebView) findViewById( R.id.webView );
    WebSettings webSettings = myWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setPluginsEnabled(true);
    myWebView.loadUrl("http://www.youtube.com/v/nVLcujAj67g?version=3");

你想使用
WebView
,而不仅仅是
VideoView
,有什么特别的原因吗?你应该使用官方的youtube API来播放这段视频,它播放得很好,我想保留电视界面,如果我重写URL以使用该播放器,电视的URL将被尝试代码,似乎自动播放和全屏播放正在破坏播放器