我在本地系统上创建了一个小型 Asp.Net 网站,该网站只有一个页面,该页面将 Flash 播放器嵌入到播放在线视频流的页面中。
我使用 Android WebView加载该页面以播放该视频流。
代码如下:
WebView _webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this._webview = new WebView(getApplicationContext());
WebSettings webSettings = this._webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginsEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
Bundle bundle = getIntent().getExtras();
String videoUrl = bundle.getString("videoUrl");
this._webview.loadUrl("http://ip/FlashLiveStreamPlayer/Default.aspx?url=" + videoUrl);
setContentView(this._webview);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
我正在Motorola Xoom Tablet和Logitech Google TV上对此进行测试。WebView在平板电脑上工作正常并加载包含 Flash 对象的 html 页面。但是 Google TV 设备向我显示了“未安装 Flash”图标。
经过一番研究,我在这里发现google tv 中的 Chrome 浏览器使用自己的基于 chrome for linux 的渲染引擎。它有自己的仅在 chrome 上运行的 Flash 播放器。但另一方面,webview 使用 webkit 渲染引擎,这是在普通安卓手机上可以找到的渲染引擎。渲染引擎无法访问或使用 Chrome 中专门使用的其他 Flash 播放器。
我尝试直接从 Android Market(不是来自 Google TV Maeket)在 google tv 上安装 Flash Player,但它不适用于 Google TV ...仅限 Google TV 中的 WebView ...但 Flash Player 可以单独安装在平板电脑上,因此平板电脑/手机上的 WebView 可以使用 Flash 内容。是吗?
我一直在尝试播放直播很多天。我第一次尝试MediaPlayer这样做......但它不能很好地播放rtsp:流......它实际上在一分钟后永远挂起......我们已经在 Sony/Logitech 电视和摩托罗拉 Xoom 平板电脑上检查过......但没有运气好。...我在 SO 上发布了它,谷歌的人正在研究它...我希望他们至少会想出一些替代方案...如果不是一个完整的修复
那就是我试图在 Flash 播放器内的 html 页面中播放流,并在 WebView 中向用户显示该页面......但它只适用于平板电脑,而不适用于 Google TV......
任何帮助是极大的赞赏。
编辑:或者您可以告诉我 Google TV 和其他 Android 设备最支持哪种媒体格式……我知道有一个Google TV 支持格式列表……但我想知道其中最好的和经过测试的格式不仅可以在 Google TV 上流畅运行,而且还支持手机和平板电脑。