我正在尝试在Android webview中播放视频。我做了我的谷歌研究并尝试了所有建议的例子,但不幸的是它们都没有。 这是我正在使用的:
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
if (view instanceof FrameLayout){
FrameLayout frame = (FrameLayout) view;
if (frame.getFocusedChild() instanceof VideoView){
VideoView video = (VideoView) frame.getFocusedChild();
frame.removeView(video);
setContentView(video);
video.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
setContentView(R.layout.loaddata_qrurl);
}
});
video.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
return false;
}
});
video.start();
}
}
}
});
请问好吗?
答案 0 :(得分:0)
这在Android 2.3及以上版本中是可行的。 只需在webview中调用index.html页面即可。和 将您的视频和index.html放在资产文件夹中。 这是按照我的经验工作的。
的index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
what is your name ?
<input id="name" value="" />
<button onClick="sayhello()">Say hello</button>
<video width="260" height="320" controls="controls">
<source src="swipe_tabs.mp4" type="video/mp4" />
<object data="swipe_tabs.mp4" width="240" height="320">
<embed src="swipe_tabs.mp4" width="240" height="320" />
</object>
</video>
</body>
</html>
答案 1 :(得分:0)
我将视频文件放在RAW文件夹中,并通过以下代码访问default.html文件中的视频文件:
video.src ="android.resource://ProjectPackageAame/raw/test";
video.type = "video/mp4";
video.load();
video.play();
它像我想要的那样播放视频。还在AndroidManifest文件中添加了以下行。
android:hardwareAccelerated="true"
试试这个