jjzjj

surfaceView

全部标签

反思:Google 为何把 SurfaceView 设计的这么难用?

启程如果你有过SurfaceView的使用经历,那么你一定和我一样,曾经被它所引发出层出不穷的异状折磨的怀疑人生——毕竟,作为一个有理想的开发者,在深入了解SurfaceView之前,你很难想通这样一个问题:为什么Google把SurfaceView设计的这么难用?不支持transform动画;不支持半透明混合;移动,大小改变,隐藏/显示操作引发的各种问题;另一方面,即使你对SurfaceView使用不多,图形系统的这朵乌云依然笼罩在每一位Android开发者的头顶,来看Google对其的描述:最终我尝试走近这片迷雾,并一点点去思考下列问题的答案:SurfaceView的设计初衷是为了解决什么

android - 用surfaceview播放视频时出现问题

我在Android4.4上播放视频时没有使用PlatformView,如下代码所示。ViewGroupparent=((ViewGroup)mRegistrar.view().getParent());parent.addView(surfaceView);我想在播放区画一些用dart开发的widget。如果surfaceview在flutterview下面,则无法显示surfaceview。如下代码所示,如​​果你在flutterview上面,播放区的widget是无法显示的。有什么好的解决办法吗?surfaceView.setZOrderMediaOverlay(true);sur

android - 用surfaceview播放视频时出现问题

我在Android4.4上播放视频时没有使用PlatformView,如下代码所示。ViewGroupparent=((ViewGroup)mRegistrar.view().getParent());parent.addView(surfaceView);我想在播放区画一些用dart开发的widget。如果surfaceview在flutterview下面,则无法显示surfaceview。如下代码所示,如​​果你在flutterview上面,播放区的widget是无法显示的。有什么好的解决办法吗?surfaceView.setZOrderMediaOverlay(true);sur

视频切换SurfaceView 会闪一下

问题描述最近在使用MediaCodec做视频播放,在小屏切换节目时,小屏就会出现闪一下的现象(黑屏->透明->视频画面。看见这一现象后,想到了一个解决方案,就是参考tif框架中LiveTv中的遮黑处理,在停止播放时,再SurfaceView上覆盖一张黑色背景的View,再等视频画面出现时,把黑色背景的View隐藏,如此闪屏现象就消失了。但是收到的出画消息好像不太精,准修改后出画速度好像没有以前快了,所以决定寻找一下根本原因。原因分析:在加了大量的debuglog后,终于在SurfaceUtils.cpp找到了问题关键。也就是在MediaCodecstop时,是调用到pushBlankBuffe

视频切换SurfaceView 会闪一下

问题描述最近在使用MediaCodec做视频播放,在小屏切换节目时,小屏就会出现闪一下的现象(黑屏->透明->视频画面。看见这一现象后,想到了一个解决方案,就是参考tif框架中LiveTv中的遮黑处理,在停止播放时,再SurfaceView上覆盖一张黑色背景的View,再等视频画面出现时,把黑色背景的View隐藏,如此闪屏现象就消失了。但是收到的出画消息好像不太精,准修改后出画速度好像没有以前快了,所以决定寻找一下根本原因。原因分析:在加了大量的debuglog后,终于在SurfaceUtils.cpp找到了问题关键。也就是在MediaCodecstop时,是调用到pushBlankBuffe

android - 如何使用 Android 的 “Surface” 类?

Surface、SurfaceHolder、EGLSurface、SurfaceView、GLSurfaceView、SurfaceTexture、TextureView有详细解释吗?特别是:SurfaceView和TextureView有什么区别?是否需要使用GLSurfaceView才能使用OpenGLES?Surface和EGLSurface如何交互?SurfaceTexture有什么作用?为什么我在SurfaceView上绘制的内容必须高于或低于其他所有内容?什么是SurfaceFlinger?状态栏和导航栏的组成如何工作?在此过程中,在Android上构建游戏循环的正确方法是

android - 如何使用 Android 的 “Surface” 类?

Surface、SurfaceHolder、EGLSurface、SurfaceView、GLSurfaceView、SurfaceTexture、TextureView有详细解释吗?特别是:SurfaceView和TextureView有什么区别?是否需要使用GLSurfaceView才能使用OpenGLES?Surface和EGLSurface如何交互?SurfaceTexture有什么作用?为什么我在SurfaceView上绘制的内容必须高于或低于其他所有内容?什么是SurfaceFlinger?状态栏和导航栏的组成如何工作?在此过程中,在Android上构建游戏循环的正确方法是

android - 即使设置了正确的尺寸,相机预览也会被拉伸(stretch)

我正在创建一个相机应用程序,它实现了自己的相机预览来拍照。该应用目前被强制进入纵向模式。我的问题是相机的预览略微拉伸(stretch)(纵横比有点偏离)。有趣的是,我将SurfaceView的大小设置为始终与预览大小匹配。这确保了纵横比应该始终保持不变......但它不是......这是我用来显示我的相机预览的布局:publicclassCpextendsViewGroupimplementsSurfaceHolder.Callback{privatefinalStringTAG="CameraPreview";privatebooleanmPreviewRunning=false;p

android - 即使设置了正确的尺寸,相机预览也会被拉伸(stretch)

我正在创建一个相机应用程序,它实现了自己的相机预览来拍照。该应用目前被强制进入纵向模式。我的问题是相机的预览略微拉伸(stretch)(纵横比有点偏离)。有趣的是,我将SurfaceView的大小设置为始终与预览大小匹配。这确保了纵横比应该始终保持不变......但它不是......这是我用来显示我的相机预览的布局:publicclassCpextendsViewGroupimplementsSurfaceHolder.Callback{privatefinalStringTAG="CameraPreview";privatebooleanmPreviewRunning=false;p

android - 自定义相机安卓

我想在Activity中使用相机预览。我想添加图像(表面View上的透明框架)。我尝试了以下代码,以便我可以轻松地自定义xml布局:packagecom.demo;importjava.io.IOException;importandroid.app.Activity;importandroid.graphics.PixelFormat;importandroid.hardware.Camera;importandroid.os.Bundle;importandroid.view.SurfaceHolder;importandroid.view.SurfaceView;importan