问题标签 [android-textureview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
258 浏览

android - 借助此 MediaCodec Api 将图像添加到视频

我正在尝试使用此库将 waterMark 添加到视频中,但我无法获得所需的结果,如库https://github.com/MasayukiSuda/Mp4Composer-android中所示。谁能指出或帮助我如何解决它谢谢我的尝试

我尝试添加这一行: filter(new GlWatermarkFilter(BitmapFactory.decodeResource(context.getResources(),R.drawable.ic_launcher_background), GlWatermarkFilter.Position.LEFT_BOTTOM))

0 投票
0 回答
156 浏览

java - 如何在 android 上的 textureView 上更改视频/更新视频

我已经在 TextureView 上使用 MediaPlayer 成功播放了一个视频,现在我正在尝试编程,以便视频在某个帧通过后自动更改。但是,在满足一定条件后,我无法更新视频。它卡在第一个视频(满足条件之前的最后一帧)。

第一个视频通过特定帧后,如何加载新视频并开始播放?这就是我所拥有的,我使用 CountDownTimer 来获取最准确的当前时间。

0 投票
0 回答
25 浏览

android - 使用 CameraAPI2 示例代码,相机未显示到 AutoFitTextureView 的完整宽度

我正在使用 Camera2API 的示例代码,谷歌的 ImageCapture 和 VideoCapture 代码示例中都有一个错误。错误是当我打开相机时,它不会占用 AutofitTextureView 的完整宽度。它从右侧裁剪了它的一部分。

我发现的临时修复是在两个示例中注释这 4 行:

但我不确定这样做是对还是错。因此,请帮助我修复此代码。

0 投票
1 回答
61 浏览

android - 使用相机2。当我调用 closeCamera 时,显示最后看到的帧而不是黑屏

我实现了具有 3 种状态的相机:自拍(正面)、背面和关闭。

除了“关闭”状态外,这一切都有效。

我正在使用 camera2,它显示在 TextureView 上:

预期:选择“关闭”状态时,我想关闭相机并显示黑屏

实际:在“关闭”状态下,显示摄像机最后看到的帧。

closeCamera 方法:

知道如何使“closeCamera”显示黑屏吗?

0 投票
1 回答
106 浏览

android - 监听 TextureView 第一帧渲染

我正在实现用于扫描 QR 码的相机预览。使用 TextureView 渲染预览。当相机和一切都在初始化时,有一个黑屏,所以我想显示一个占位符,直到相机开始在视图上渲染。我曾经onSurfaceTextureAvailable要求相机开始预览,但是在要求相机开始预览之后,你会再次看到黑屏,所以我需要一种方法来知道预览何时真正开始。这可能吗?

谢谢你。

0 投票
0 回答
76 浏览

android - ReleaseTexImage 在 Android 9 中崩溃

我有一个扩展的自定义类TextureView。在这TextureView我有一个surfaceTexturemSurfaceTexture。这是一个单缓冲表面。

根据android文档,这里

在单缓冲模式下,应用程序负责序列化对图像内容缓冲区的访问。每次要更新图像内容时,必须在图像内容生产者获得缓冲区所有权之前调用 releaseTexImage() 方法。

因此,每当图像制作者获得所有权时,我都会调用它。它在 Android 10 上运行良好,但在 android 9 上出现以下错误:

我在打电话ANativeWindow_fromSurface。使用它之后,我还应该做一些其他的事情,比如发布 nativewindow 等吗?

关于为什么会发生这种情况以及其他任何人有类似问题的任何想法?

0 投票
1 回答
608 浏览

android - ViewPager2 仅在选定项目中播放视频

我有一个ViewPager2带填充和页面转换器的。在 viewpager 中,我托管片段TextureView以播放视频。问题是每个可见的 TextureView 都开始播放它的视频。我试图覆盖片段的onPause()和从那里OnStart()调用的方法mediaPlayer.start()mediaPlayer.stop()这样只会播放所选片段的视频。但是,当我在查看器中向后移动时,已经开始的视频将不会再次开始。有时它甚至没有被加载,只有一个空的 TextureView 是可见的。

这是片段的代码:

这就是我设置viewpager的方式:

屏幕幻灯片适配器:

ZoomOutPageTransformer 就是这里的那个

这是活动 XML 中的 viewpager:

这是片段的布局:

如何在 viewpager 中仅播放所选项目的视频?

0 投票
0 回答
123 浏览

android - 如何为 Vulkan 应用程序使用 TextureView

我目前正在为我的 Vulkan 应用程序(游戏)使用自定义 SurfaceView (MySurfaceView),但已阅读 TextureView 是更好的选择。我尝试更改为自定义 TextureView (MyTextureView),但没有收到 Resize() 或 Redraw() 事件。

我想我可以让 C++ 代码在它自己的线程上渲染,但是它如何通知 Java 刷新 TextureView?

0 投票
0 回答
66 浏览

java - 如何在 Android Studio 的 TextureView 中设置低分辨率

我想在相机预览时在每帧的感兴趣区域 (ROI) 中获取一部分像素。我从TextureView获取位图并使用“for”循环计算该区域的平均值。如果我在保持 TextureView 的默认分辨率(2200x1080 aprox)的大 ROI 中执行此操作,该过程会很慢,所以我想知道是否有办法将此分辨率设置得更低,以便在 for 循环中以更少的速度获得速度像素但面积更大

另外我想知道是否有另一种方法来完成这个过程。当我获得该区域的平均像素值时,我想要的只是在屏幕上保持良好的帧速率(可能是 20-25 fps)。

0 投票
0 回答
101 浏览

android - 具有 SurfaceTexture + 转换矩阵的 MediaCodec - 为 VIDEO_SCALING_MODE_SCALE_TO_FIT(_WITH_CROPPING) 传递自定义输出大小?

Android MediaCodec 会自动缩放(并分别裁剪)解码后的视频以输出表面尺寸。如果 SurfaceTexture 通过其变换矩阵进行旋转/缩放/裁剪,则对视频流执行两次计算。有没有办法给输出纹理的 MediaCodec“自定义”尺寸,以便转换矩阵只进行旋转(在 MediaCodec IIUC 中不能正常工作)而不进行缩放?如果我正确理解操作,则在一系列缩小/放大/裁剪转换期间,输出视频的分辨率也会受损。

例如,在我的情况下,视频是 16:9 横向模式,而我的输出 TextureView 是 3:4 纵向模式,旋转 90 度。这意味着 MediaCodec 缩小(失去分辨率)到输出 TextureView(具有纵向方面)的小宽度,随后(旋转后)将视频放大到旋转后的全高。非常感谢。