草庐IT

android - 了解 Canvas 和 Surface 概念

我很难理解绘制到SurfaceView的过程,因此整个Surface/Canvas/Bitmap系统,在Android中使用。我已经阅读了所有文章和API文档页面,我可以在android-developers网站上找到这些内容,一些android图形教程,LunarLander源代码和thisquestion.请告诉我,这些陈述中哪些是正确的,哪些不是,以及为什么。Canvas附有自己的Bitmap。Surface附有自己的Canvas。窗口的所有View共享相同的Surface,因此共享相同的Canvas。SurfaceView是View的子类,与其他View的子类和View本身不同

android - 缓冲 Surface 输入到 MediaCodec

已经演示了如何feedMediaCodecwithSurfaceinput像CameraPreview,但在提交到MediaCodec之前是否有缓冲此输入的实用方法?在我的experiments,GalaxyNexus在使用CameraToMpegTest.java中的直接同步编码方法生成音频/视频流时遇到NotAcceptable问题。当使用MediaCodec和byte[]或ByteBuffer输入时,我们可以将未编码的数据提交给ExecutorService或类似的处理队列,以确保没有帧丢失,即使设备遇到超出我们应用程序控制的CPU使用率峰值。但是,由于需要执行colorform

android - 表面支架上的凸轮图片,绘制 : Exception because of surface type

我使用带有SurfaceHolder的SurfaceView在我的测试应用程序中开始相机预览。publicclassTextLocatorActivityextendsActivity{privatePreviewpvw;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);this.getWindow().setFlags(WindowManager.LayoutPara

学习PCL库:PCL库中surface模块

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。surface模块介绍PCL库中的surface模块提供了各种表面重建和拟合算法,根据任务的不同包含一下内容:可以实现外壳、网格表示的表面重建,带有法线的平滑/重采样表面等功能。如果点云有噪声或由多个未完全对齐的点云组成,则平滑和重采样同样很重要,可以调整表面估计的复杂性,并在需要时估计法线等功能。网格化是将点创建成表面的通用方法,目前提供了两种算法:原始点的三角剖分非常快,而较慢的网格化还进行平滑和填补

android - 如何直接从 Android Surface 访问 EGL 图像以用于 MediaCodec 视频解码器?

我目前正在编写一个Android应用程序,我需要在其中缓存视频帧,以便我可以轻松地来回切换,几乎没有延迟。现在我让android解码视频帧,方法是为MediaCodec对象的Configure调用提供Surface,并调用releaseOutputBuffer并将渲染标志设置为真。我发现访问解码表面数据的唯一方法(除了解码返回的字节缓冲区,其格式似乎与设备相关)是调用SurfaceTexture上的updateTeximage链接到Surface,将其附加到GL_TEXTURE_EXTERNAL_OES目标并将其渲染到我自己创建的GL_TEXTURE2D目标纹理以缓存它。我想优化这个缓

[EFI]Surface Pro 4电脑 Hackintosh 黑苹果引导文件

硬件型号驱动情况主板SurfacePro4处理器IntelCorei5-6300U2.5GHz已驱动内存16GBDDR42400Mhz已驱动硬盘SamsungSSD860EVO250GMedia(InstallonSSDExternal)已驱动显卡IntelHDGraphics5202GBmacOS13以上自行添加显卡补丁声卡RealtekALC3269(id3)已驱动网卡无无无线网卡+蓝牙Intel(R)DualBandWireless-AC8265(802.11a/b/g/n/ac)需要自行根据系统版本添加对应驱动支持系统版本macosHighSierra(10.13)——Sonoma(1

android - BufferQueue 已被放弃 : When playing video with TextureView

每次我暂停我的Activity(实际上是Fragment)以转到另一个应用程序时,在使用onResume返回时我尝试恢复视频播放但它不播放:我得到一个空白屏幕。经调查,我在Logcat中看到以下内容E/BufferQueueProducer:[unnamed-23827-0]queueBuffer:BufferQueuehasbeenabandonedE/MediaPlayer:error(1,-38)E/MediaPlayer:error(1,-38)E/MediaPlayer:error(1,-38)E/MediaPlayer:error(1,-38)E/BufferQueuePr

android - "The surface has been released"里面 "surfaceCreated"

我知道这是一个常见问题,但此堆栈跟踪显示其他地方有问题。您可以看到,即使在surfaceCreated内部调用了setDisplay(holder),它仍然会抛出IllegalArgumentException。这也不是一个罕见的异常(exception),昨天在约3,000,000次剪辑观看中发生了约125,000次。我可以向您保证mCurrentPlayer也已正确初始化。表面创建:@OverridepublicvoidsurfaceCreated(SurfaceHolderholder){mIsSurfaceCreated=true;mCurrentPlayer.setDispl

android - "The surface has been released"错误

我正在为在线视频创建一个媒体播放器,但是当我尝试运行它时,出现了这个错误:“表面已被释放”。这是我的代码:publicclassVideoSample1extendsActivityimplementsCallback,OnPreparedListener,OnCompletionListener,OnClickListener,OnSeekCompleteListener,android.view.SurfaceHolder.Callback{publicStringvideo_path="MyvideoURL";privateSurfaceViewsurfaceViewFrame;

android - 使用 OpengL Surface 为 Android 制作游戏循环的最佳方法

据我所知,如果我想制作一个非opengl游戏循环,我可以做的是有一个游戏线程,在循环期间将更新游戏状态(或游戏物理)并通过锁定更新图形来自(普通)SurfaceView的Canvas,通过Canvas.drawXXX(...)方法进行绘图,然后解锁它,此时图形会为循环更新.在使用GLSurfaceView和Renderer时,我真的不知道如何做到这一点。据我所知,我不能再像使用常规表面那样按需绘制我的手工gameThread,它是Canvas,因为现在有一个渲染线程将调用Renderer。onDrawFrame()(关于我传递给GLSurfaceView的渲染器类的实现)。那么我的问题