WebView 中的 VideoView 不会播放视频?
Posted
技术标签:
【中文标题】WebView 中的 VideoView 不会播放视频?【英文标题】:VideoView from WebView Wont Play Video? 【发布时间】:2011-11-24 07:34:28 【问题描述】:我的应用当前使用 WebView,然后使用 WebChromeClient 和 onShowCustomView 转到 VideoView 的视频。但是,我不确定单击视频时如何获得正确的链接?它出现说无法播放视频,但这是因为我根本没有将视频传递给它。如何获取被点击的链接的 URL?有什么帮助吗?
这是带有 WebView 的 Activity:
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.mnwv_main);
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setjavascriptEnabled(true);
myWebView.getSettings().setPluginsEnabled(true);
myWebView.setWebChromeClient(new WebChromeClient()
public void onShowCustomView(View view, CustomViewCallback callback)
super.onShowCustomView(view, callback);
videoURL = myWebView.getUrl();
in= new Intent(MNWVMainPage.this,MainPageVideoHandler.class);
startActivity(in);
);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://www.meanwhileinwv.com");
如果我点击一个视频,这个活动就会开始:
public class MainPageVideoHandler extends Activity
VideoView myVideoView;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.video_player);
myVideoView = (VideoView) findViewById(R.id.videoview);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(myVideoView);
String video = (MNWVMainPage.videoURL);
myVideoView.setMediaController(mediaController);
myVideoView.setVideoPath(video);
myVideoView.start();
myVideoView.setOnCompletionListener(new OnCompletionListener()
@Override
public void onCompletion(MediaPlayer mp)
mp.stop();
myVideoView.stopPlayback();
setContentView(R.layout.mnwv_main);
);
myVideoView.setOnErrorListener(new OnErrorListener()
@Override
public boolean onError(MediaPlayer mp, int what, int extra)
return false;
);
【问题讨论】:
【参考方案1】:您应该在您的WebViewClient
中实现shouldOverrideUrlLoading(..)
。这使您有机会拦截 URL 加载并显示您的视频视图。
【讨论】:
以上是关于WebView 中的 VideoView 不会播放视频?的主要内容,如果未能解决你的问题,请参考以下文章
android平板videoview播放视频,webview播放flash能旋转180吗?
我可以将 VideoView 作为 WebView 背景吗?