Android推出mediplayer用于网络视图视频?
我有一个网络视图,如果用户单击链接,它将在同一个网络视图中打开(我使用shouldOverrideUrlLoading()控制),但如果它是视频链接(mp4,3gp),它不会启动媒体播放器来重现视频(就像在普通浏览器应用程序中一样)。 当在网络视图中单击视频链接时,如何强制媒体播放器启动Android推出mediplayer用于网络视图视频?,android,webview,Android,Webview,我有一个网络视图,如果用户单击链接,它将在同一个网络视图中打开(我使用shouldOverrideUrlLoading()控制),但如果它是视频链接(mp4,3gp),它不会启动媒体播放器来重现视频(就像在普通浏览器应用程序中一样)。 当在网络视图中单击视频链接时,如何强制媒体播放器启动 谢谢 我的意思是,当url指向视频文件时,我希望mediaplayer复制它。其他每个URL都由webview处理,这没关系,但当URL指向视频文件时,我尝试加载该URL时不会发生任何事情。首先,据我所知,An
谢谢 我的意思是,当url指向视频文件时,我希望mediaplayer复制它。其他每个URL都由webview处理,这没关系,但当URL指向视频文件时,我尝试加载该URL时不会发生任何事情。首先,据我所知,Android仅支持rtsp播放。因此,单击链接后,给出document.location.href=”rtsp://your 视频网址” 在这种情况下,您需要执行一个意图来加载外部视频url。 这也方便地允许用户返回到以前的视图(活动),没有任何问题。请参阅下面的代码
/*-----------------------------------------------------------------------------------------------
* 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;
}
}
现在这可能无关紧要,但你在浏览器中看到的不是媒体播放器,而是Android拥有的视频视图。单击视频链接时,会在WebChromeClient中调用ShowCustomView(查看视图,WebChromeClient.CustomViewCallback回调)。应用程序有义务显示该视图,然后通知WebView不再需要该视图。您应该试试这个
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);
}
}
});
您能澄清一下“如果是视频链接(mp4,3gp),它不会启动媒体播放器来复制视频”的意思吗?您的意思是,对于此类URL,您没有使用
shouldOverrideUrlLoading()
调用您吗?