在网络视图中获取 html5 视频海报
Get the html5 video poster in webview
我有一个显示视频供用户播放的网络视图,但我看不到海报。
我正在使用以下 webChromeClient:
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public Bitmap getDefaultVideoPoster() {
final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
canvas.drawARGB(255, 255, 255, 255);
return bitmap;
}
public void onShowCustomView (View view, WebChromeClient.CustomViewCallback callback) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("video/*");
startActivity(intent);
}
public void onHideCustomView () {
}
});
我只看到白色背景。
你应该return super.getDefaultVideoPoster()
,出现白色海报是因为你重写了绘制白色位图
@Override
public Bitmap getDefaultVideoPoster() {
//final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
//Canvas canvas = new Canvas(bitmap);
//canvas.drawARGB(255, 255, 255, 255);
return super.getDefaultVideoPoster();
}
我的结果:
已编辑:
您可以解决:在 html 文件 <source src="xyz.mp4#t=1" type="video/mp4">
中的 src
之后添加 #t=1
。它将显示第 1 帧作为视频海报。
我有一个显示视频供用户播放的网络视图,但我看不到海报。
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public Bitmap getDefaultVideoPoster() {
final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
canvas.drawARGB(255, 255, 255, 255);
return bitmap;
}
public void onShowCustomView (View view, WebChromeClient.CustomViewCallback callback) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("video/*");
startActivity(intent);
}
public void onHideCustomView () {
}
});
我只看到白色背景。
你应该return super.getDefaultVideoPoster()
,出现白色海报是因为你重写了绘制白色位图
@Override
public Bitmap getDefaultVideoPoster() {
//final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565);
//Canvas canvas = new Canvas(bitmap);
//canvas.drawARGB(255, 255, 255, 255);
return super.getDefaultVideoPoster();
}
我的结果:
已编辑:
您可以解决:在 html 文件 <source src="xyz.mp4#t=1" type="video/mp4">
中的 src
之后添加 #t=1
。它将显示第 1 帧作为视频海报。