问题标签 [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 投票
1 回答
1809 浏览

java - 在 TextureView 上播放从前置摄像头拍摄的视频

我从前置摄像头录制了三星 Galaxy S4 (1080wx1920h) 的视频。生成的视频旋转 90° 并上下颠倒。(见图片)

视频结果

然后我拍摄视频(最终分辨率为 320wx240h)并将其显示到 TextureView:

我将 textureView 的布局参数设置为:

结果如下所示:

1080wx1440h

经过几次重试后,我想如果我将布局设置为:

尺寸配比保持正确:

810yx1080h

最后,我想显示在 RecordingActivity (1080wx1440h) 中录制的视频:

录音分辨率

关于如何做到这一点的任何想法?

或者有没有办法从前置摄像头正确旋转录制视频?

完整活动代码:

XML:

0 投票
2 回答
2019 浏览

android - 需要帮助将相机预览数据作为 SurfaceTexture 使用来自 TextureView 的 openGL

搜索了整整 3 天,找到了很多相关信息,但由于我缺乏计算机图形知识,没有一个足够准确。我只是想在这里问一个问题。

为了清楚起见,

1)我有框架布局

2)我添加了一个 TextureView 到它

3)我将 LayoutParams 到 FrameLayout 设置为一种方形,因此不知何故 TextureView 也根据该形状调整大小,变成方形,这不是很混乱

4)Camera Previewing 工作和 TextureView 显示工作之间的一切工作正常但

4!)众所周知,就像在 SurfaceView 时代一样。如果我们强制将相机预览数据绘制到一个不太适合相机预览尺寸的视图中,最终结果就会被拉伸。

4.)我的意思是我知道如何调整 FrameLayout/TextureView 的大小以使其成为 4:3/~16:9(风景或肖像),但我需要它是方形的,真的,当然不要拉伸

5?)我认为我应该通过openGL Thins预处理SurfaceTexture数据。(我认为这很明显,但我不太确定,所以如果你有完全不同的方式来获得结果。它也将不胜感激。

5)关于preAsking工作。我有很多这样做的样本,但只有一个普通的 SurfaceView 或 GLSurfaceView。因为我对原始的openGL编程不太熟悉。当我尝试将代码变形到我的项目中时,我感到很痛苦

5+) 不,我必须使用 TextureView。如果您怀疑原因是因为谷歌将他们的相机样本转移到使用 TextureView 中,所以我认为我必须学习处理 TextureView+openGL 组合。无论如何,TextureView 上台只是为了让它更简单,就像只生活一个 View 并与轻量级 openGL 处理配合而没有划痕不是吗

6)我真的无法将那些在线样本移植到我的。即使在使用 SurfaceTexture (omg) 附加 openGL 上下文时我也遇到了麻烦

7) 是的,我有一个类似骨架的代码结构,除了 drawFrame impl 之外,一切都可以正常工作。我到底应该在里面放什么

活动

}

纹理视图

openGL 线程

我应该如何获得 gl 实例?当某些示例使用 gl (从无处...或参数),其他示例使用 EGL14.blahblah 事物时,我发现它感到困惑。我的意思是......天哪,我真的不知道 openGL,Android.com 上的 khronos 包参考是无效的......)

确实需要逐步解决确切问题的教程,但是如果您以文本形式清楚地解释它,那也很棒。当我需要正方形时,我认为我们可以通过裁剪相机预览数据的左上角来使其变得最简单。那将非常有帮助。是的,我可能需要添加某种过滤功能,所以不要破解平方问题。我坚持通过openGL来做这件事,相当。

顺便说一句,由于我所在国家/地区的网络状况,无法访问 Google 示例。我可以但不是很令人满意的预先搜索工作,我为此道歉。

0 投票
0 回答
3890 浏览

android - 使用 MediaPlayer 使视频适合 TextureView(部分在外部(不可见))

我正在使用 MediaPlayer 在 TextureView 中播放视频。TextureView 的大小是固定的,视频的大小是不同的。它播放视频,但问题是视频的一部分在外面,视频没有按比例缩小以适应 TextureView。

黑色矩形 + 照片(视频)是 TextureView。红色矩形是实际视频,我画了它当然是为了说明问题。

所以它只显示视频的一部分,而不显示其余部分。

我希望所有视频都可见并保持其原始比例。

谢谢。

在此处输入图像描述

0 投票
2 回答
5425 浏览

android - 与 MediaPlayer 一起使用后如何清除 SurfaceTexture?

我正在使用带有 TextureView 子级的 ListView。TextureView 使用 MediaPlayer 播放视频。当 TextureView 被回收时,最后一帧会保留在表面上,直到下一个 MediaPlayer 使用它。

什么是“清除”TextureView 的表面(例如黑色)以使旧框架不出现的最简单方法是什么?

0 投票
1 回答
1160 浏览

android-viewpager - viewPager 内的 TextureView 上没有视频(只有声音)

我正在尝试在作为列表视图项目的 viewpager 中显示视频或图像。当图像正确显示时,视频只是播放声音,没有视频。我试过使用 VideoView 和 SurfaceView 都没有运气。我宁愿不为此使用片段。

在列表视图中,出于测试原因,我正在加载一堆图像和一个视频。图像加载正常,但视频只播放声音。

我认为这与没有正确设置其表面纹理有关,但我无法弄清楚。

任何帮助,将不胜感激!

这是我的代码:

此外,xml:

0 投票
2 回答
1257 浏览

android - 如何正确地将 TextureView 放在 Android 中的其他布局之间?

我在将 GLSurfaceView 放在其他布局之间时遇到了问题,事实证明——使用 GLSurfaceView 是不可能的。所以我用TextureView替换了GLSurfaceView,但是问题没有解决。

我的主要布局中有这样的结构:

最后我想得到如下结果:

在此处输入图像描述

问题是在某些设备上我遇到了根本不显示 TextureView 的问题,因此左右布局之间存在黑场。

例如,它可以在我的三星 S3 和模拟器中运行,但在 Xperia 上无法正常运行。我认为原因可能是不同的主题,但我在清单文件中设置了主题,例如:

在哪里"CustomHoloThemeNoActionBar" parent="@android:style/Theme.Holo.Light"

您能否告知可能导致此类问题的原因?

0 投票
1 回答
993 浏览

android - 无法在 TextureView Android 中播放视频

我在某些设备上播放视频时遇到问题。我正在使用带有 mediaplayer 的纹理视图,SurfaceTextureView 的每个方法都会被调用,但是当我只调用 mediaPlayer.start() 时,会立即调用完成播放的侦听器。在日志中是这个错误:

当我列出所有应用程序的日志时,我可以看到一些错误,我不知道它是否与http://pastebin.com/rRxxQgdJ有关

此日志来自带有 Android 4.3.1 的 CyanogenMod,但在三星 Galaxy S3 mini 等其他一些设备上,此错误正在发生。

在我的 Nexus 4 上一切正常。我尝试使用适用于 android H.264 的 mp4 编解码器甚至使用 ffmpeg 转换该视频,但结果仍然相同。我从这里使用 TextureVideoView 实现: https ://github.com/dmytrodanylyk/video-crop/blob/master/library/src/com/dd/crop/TextureVideoView.java

感谢您的任何建议

0 投票
0 回答
4285 浏览

android - 如何在 Android 的 TextureView 上应用视频效果(如棕褐色、复古等滤镜)?

我们如何将棕褐色、复古等过滤器应用于视频,然后将其发布到我们的服务器上?

同样,我们可以通过在 TextureView 上创建过滤器层来欺骗用户,然后在服务器上应用相应的过滤器。

代码 :

0 投票
1 回答
3970 浏览

android - 在 Android 的 TextureView 中播放视频后播放视频有问题

在 TextureView 中使用 MediaPlayer 播放视频,它可以工作。

当一个视频结束并且应该播放另一个视频时,我会调整 TextureView 的大小以适应即将到来的视频的纵横比(例如 - 从 3:4 到 9:16 等等)。

问题是,在第一个视频结束后,它的最后一帧仍然显示,比 TextureView 调整大小,第一个视频的最后一帧保持一瞬间,但现在纵横比不好,第二个视频正在播放。

显示(大小 X 大小)矩形的视频图像:

图片 1:视频 1,(3:4):

在此处输入图像描述

Image2:视频 1,我们在 2 个视频之间,视频 1 的最后一帧,调整大小后现在位于 (9:16),但矩形看起来很糟糕。下图显示了一瞬间:

在此处输入图像描述

Image3:视频 2,(9:16),播放良好,但在显示 image2 片刻之后:

在此处输入图像描述

所使用的代码没有什么特别之处,以下是其中的一些部分:

0 投票
3 回答
3454 浏览

android - 在 Android 列表视图中播放视频

我正在尝试在我的列表视图中播放视频,就像 Vine 或 Instgram 一样。我一直在尝试将 TextureView 与媒体播放器一起使用,除了将 TextureView 附加到媒体播放器时,我遇到了 GetView 方法没有正确重用纹理视图的问题。在我的列表中向下滚动时,纹理视图会呈现一些旧的不正确视频。

有谁知道如何在 ListViews 中播放视频(不使用 VideoView !!!)?