Потоковая передача на странице HTML Flash отлично работает на планшете с масштабированием Motorola, но не работает на Google TV в Android WebView. - PullRequest
2 голосов
/ 23 января 2012

Я создал небольшой веб-сайт Asp.Net в моей локальной системе, в котором есть только одна страница, в которую встроен флэш-проигрыватель, который воспроизводит онлайн-видеопоток.

Я использую 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 и Logitech Google TV . WebView отлично работает на планшете и загружает HTML-страницу, содержащую объект Flash. Но устройство Google TV показывает мне значок «Flash Not Installed».

После некоторых исследований я обнаружил здесь , что Браузер Chrome, присутствующий в google tv, использует свой собственный движок рендеринга, основанный на chrome для linux. У него есть собственный флеш-плеер, который работает только на Chrome. Но с другой стороны, webview использует движок рендеринга webkit, который является движком рендеринга, который можно найти на обычных телефонах Android. Механизм рендеринга не может получить доступ или использовать другой флэш-плеер, который специально используется в Chrome.

Я попытался установить Flash Player на Google TV напрямую из Android Market (не из Google TV Maeket), но он недоступен для Google TV ... или я могу сказать, что он не поддерживается для установки Flash Player отдельно, который может использоваться Flash-содержимое внутри WebView только в Google TV ... но Flash Player может быть установлен отдельно на планшет, поэтому WebView на планшете / телефоне может использовать Flash-содержимое. у это что ??

Я пытался играть в прямом эфире в течение многих дней. Сначала я попытался MediaPlayer сделать это ... но он не воспроизводит поток rtsp: хорошо ... он фактически зависает навсегда через минуту ... мы проверили это на Sony / Logitech телевизоры и планшеты Motorolla Xoom ... но не повезло вообще. ... я разместил это на SO, и ребята из Google изучают это ... я надеюсь, что они хотя бы придумают какую-то альтернативу ... если не полное исправление

То есть, я пытаюсь воспроизвести поток на html-странице внутри флеш-плеера и показываю пользователю эту страницу внутри WebView ... но она работает только на планшете, а не на Google TV ...

любая помощь очень ценится.

Редактировать: Или вы можете сказать мне, какой формат мультимедиа лучше всего поддерживается Google TV и другими устройствами Android ... Я знаю, что есть список Поддерживаемых форматов Google TV .. но я хочу знать о лучшем и протестированном формате в нем, который не только работает гладко на Google TV, но также поддерживается на телефонах и планшетах.

1 Ответ

4 голосов
/ 24 января 2012

"Google TV v2.0 не поддерживает Flash или HTML5-видео в настоящее время в WebView."

Из этого источника: https://developers.google.com/tv/android/articles/moving_web_content_to_android

...