2010-02-19 2 views
4

У меня есть веб-просмотр, если пользователь нажимает на ссылку, он открывается в том же веб-представлении (я управляю этим с shouldOverrideUrlLoading()), но если это видео-ссылка (mp4, 3gp), она не запускает медиаплеер для воспроизводить видео (как в обычном браузере). Как заставить медиаплеер запускаться при щелчке видео ссылки внутри веб-представления?Android запускает медиаплеер для видео с веб-просмотра?

Спасибо!

+0

Не могли бы вы уточнить, что вы имеете в виду «если это ссылка на видео (mp4, 3gp) это не запускает медиа-плеер для воспроизведения видео»? Вы имеете в виду, что вы не вызываете с 'shouldOverrideUrlLoading()' для таких URL-адресов? – CommonsWare

ответ

1

Я имел в виду, что когда URL-адрес указывает на видеофайл, я бы хотел, чтобы медиаплеер воспроизводил его. Каждый другой URL-адрес обрабатывается веб-просмотром, и это нормально, но когда URL-адрес указывает на видеофайл, ничего не происходит, когда я пытаюсь загрузить этот URL-адрес.

0

Прежде всего, насколько мне известно, Android поддерживает только воспроизведение rtsp. Поэтому onclick ссылки, дайте document.location.href = "rtsp: // ваш видеоролик";

4

В этом случае вам необходимо выполнить намерение загрузить внешний видеоролик. Это также позволяет пользователю без проблем вернуться к предыдущему виду (активности). Смотрите ниже код ....

/*----------------------------------------------------------------------------------------------- 
* WebViewClientHandler() allows for overriding default phone web browser so we can load in gui 
*----------------------------------------------------------------------------------------------*/ 
private class WebViewClientHandler extends WebViewClient { 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

    Uri uri = Uri.parse("http://YOUTSTREAM.FLV"); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

    startActivity(intent); 
     return true; 
    } 
} 
2

Это, вероятно, не имеет значения сейчас, но то, что вы видите в браузере не медиаплеер, но Android принадлежит VideoView. При нажатии на ссылку видеовызова выполняется вызов onShowCustomView (View view, WebChromeClient.CustomViewCallback callback) в WebChromeClient. Обязательство приложения отображать это представление, а затем информировать WebView о том, что представление больше не требуется.

1

вы должны попробовать это

WebView webView = (WebView) findViewById(R.id.embeddedWebView); 
webView.setDownloadListener(new DownloadListener() 
    { 
     public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long size) 
     { 
      Intent viewIntent = new Intent(Intent.ACTION_VIEW); 
      viewIntent.setDataAndType(Uri.parse(url), mimeType); 

      try 
      { 
       startActivity(viewIntent); 
      } 
      catch (ActivityNotFoundException ex) 
      { 
       Log.w("YourLogTag", "Couldn't find activity to view mimetype: " + mimeType); 
      } 
     } 
    }); 
+0

Куда идет этот код? – talentedmrjones

Смежные вопросы