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

android - 如何旋转 textureView 以显示 cameraPreview

我使用camera2 api来显示camerapreview,并且我在lanscape上锁定了屏幕方向,我的问题是我想旋转textureview以显示正确的camerapreview,当我使用setRotation方法旋转它时,它会变小。我在堆栈上搜索,但所有解决方案都与相机(第一个 api)相关,所以是否有旋转纹理视图的解决方案。

0 投票
2 回答
4953 浏览

android - 如何确定相机预览帧的默认方向?

我正在尝试(再次)为所有场景创建实际正常工作的相机预览逻辑:

  • 任何设备:手机、平板电脑、烤面包机等
  • 任何相机:前置、后置、侧置、狗朝向等
  • android.hardware.Cameraandroid.hardware.camera2
  • 纵向和横向设备方向

由于我minSdkVersion15 岁,而且我并不特别关心性能,因此我正在尝试使用TextureView. 并且,按照 fadden 在此处此处setTransform()等地方的建议,我正在尝试使用TextureView适当Matrix的方法:

  • 正确定位预览,考虑设备方向
  • 完全填充TextureView,代价是在TextureView纵横比与预览帧纵横比不匹配的情况下进行裁剪
  • 不拉伸图像,因此方形项目(例如,3 英寸方形 Post-It Note®)的预览在预览中显示为方形

在我的情况下,TextureView填充屏幕,减去状态栏和导航栏。

Grafika'sadjustAspectRatio()开始,我现在有了这个:PlayMovieActivity.java

这里,videoWidthvideoHeight是相机预览的大小,方法本身是在TextureView. 当我确定了相机预览的大小并且调整了TextureView自身的大小之后,我正在调用此方法。

这似乎很接近,但并不完全正确。特别是,iCanHazPhone翻转视频宽度和高度的技巧是在黑暗中刺伤,因为没有这个,虽然 SONY Tablet Z2 运行良好,但 Nexus 5 却很糟糕(拉伸预览不会填满屏幕)。

iCanHazPhone设置为,我在trueNexus 5 上得到了很好的结果:

Nexus 5、Camera2 Preview、横向、后置摄像头

Nexus 5、Camera2 预览、人像、后置摄像头

iCanHazPhone设置为,我得到类似的false东西:

Nexus 5,Camera2 预览,人像,后置摄像头,拉伸

同样,iCanHazPhone设置为false,我在 SONY Tablet Z2 上得到了很好的结果:

SONY Tablet Z2、Camera2 Preview、风景、后置摄像头

但是,如果我将其翻转到true,我会得到:

SONY Tablet Z2,Camera2 Preview,风景,后置摄像头,拉伸

我目前的理论是不同的设备具有不同的默认相机方向,并且根据该默认方向,我需要在计算中翻转预览宽度和高度。

所以,问题:

  1. 是否保证相机(与涉及 Android 硬件的任何东西一样)具有与默认设备方向匹配的默认方向?例如,iCanHazPhone设置为 Nexus 9 可以正常工作true,这表明它不是手机与平板电脑,而是默认纵向与默认横向。

  2. 有没有更好的方法来处理这个问题?

0 投票
4 回答
24565 浏览

android - 在 RecyclerView 中播放视频 - 滚动离开屏幕时播放/暂停视频

我已经实现了使用纹理视图和媒体播放器实现的视频播放器的 Recycler 视图。

如果我向下滚动列表,我可以单击该项目并播放视频。但是,对于回收站视图,一旦视图离开屏幕,它就会被回收以供重复使用。如果我向上滚动,所有视图现在都是空白的(黑色)。

我正在寻找添加功能,当用户将视频滚动到屏幕外时,它将暂停并保持对该视频的引用,这样如果他们滚动回该视频,它将从该点开始播放。

我已经检查过,但是我不想下载视频,我只想流式传输。我不是在找人为我做这件事,我只是在寻找一些指示,希望有人可以分享他们在这方面的知识......提前致谢

这是我到目前为止所做的:

视频播放器

活动/适配器

视频供稿项 XML

0 投票
1 回答
241 浏览

android - 在 Android 上的相机预览上叠加图像时,哪个视图是最佳选择?

我想在相机预览上画一张照片。我想知道哪个视图(SurfaceView、TextureView、GLSurfaceView 等)是相机预览的最佳视图(性能)。

如果你能解释如何画它,那就太好了。

谢谢。

0 投票
0 回答
514 浏览

android-video-player - 使用 TextureView 的 Android 视频播放器

我正在使用 MediaPlayer 和自定义 TextureView 制作一个 android 视频播放器。

但是我的代码在mContext.sendBroadcast(i);openVideo() 的函数中出现了错误;

下面是VideoView的内容

}

请给我一些建议。提前致谢!

0 投票
0 回答
73 浏览

android - 在 Android 更改中录制视频

我在手机上录制视频时遇到了一个小问题。我已经按照这个例子来学习并获得启发:

http://examples.javacodegeeks.com/android/core/android-video-capture-example/

基于此(顺便说一句,一个很好的例子),似乎在录制视频时,它会稍微改变外观,但我想避免这种情况。

有什么建议吗?

安卓代码:

布局文件:

0 投票
1 回答
866 浏览

android - 如何在Android的TextureView中一张一张播放视频?

我想使用 android 中的 Texture 视图从我的 sdcard 中一一播放视频。我正在使用 tetureview bcoz ,我想将视频旋转 90 度。所以我可以通过实现SurfaceTextureListener 接口在设备上播放旋转的视频。

这是代码:

但是通过这段代码,只有一个视频正在播放,另一个视频没有播放..我想当一个视频完成时,列表中的第二个视频应该播放等等..

我在网上搜索了很多关于这个的......但没有运气......

有人可以帮我解决这个问题吗?

0 投票
2 回答
2441 浏览

android - 带有用于 H264 流的 MediaCodec 解码器的 TextureView

这是这个问题的后续问题。

这是我的TextureView代码:

我的问题 - 我的TextureView实现是否可以渲染由解码的 H264 流MediaCodec?还是我需要进行 EGL 设置或其他任何事情?

提前致谢!

0 投票
1 回答
551 浏览

android - 解码某些 mp4 文件时,Android MediaExtractor 崩溃。Libc 致命信号 11

我正在使用Google Grafika示例在 TextureView 上显示视频。“双重解码”更具体。代码大部分时间都可以工作,但对于某些 mp4 文件,它只会崩溃:

相同的代码适用于 webM 文件和大多数 mp4 文件。我希望它失败的地方是:

MoviePlayer [L:113]

任何提示如何四处走动或可能是什么问题?

0 投票
0 回答
1525 浏览

android - TextureView 视频的抗锯齿

我将TextureViewwithMediaPlayer用于我的自定义视频组件。

如果视频的尺寸更大或与 ' 尺寸相同TextureView,那么一切都很好。

但如果视频尺寸较小(比如 720x576,TextureView尺寸为 1280x1024,则质量很差,就好像没有应用抗锯齿一样)。

有趣的是,如果我SurfaceView在完全相同的情况下使用,似乎SurfaceView应用了某种抗锯齿,所以我得到了更好的画面。

我试图将一个Paint对象应用于TextureView

但这并没有改善情况。

我发现使用有setScaleX(1.00001f);帮助,但效果不大,质量仍然很差。

有没有办法应用抗锯齿TextureView

这是组件代码。

更新

根据fadden的回答,我写了这段代码:

但我得到这个错误:

怎么了?

更新 最后我得到了@fadden 建议的工作。但GL_LINEAR在我的情况下还不够。SurfaceView 使用更高级的东西(如双三次插值)。

我尝试使用 Bi-Cubic 插值GLSL作为片段着色器(来自此处的源:http: //www.codeproject.com/Articles/236394/Bi-Cubic-and-Bi-Linear-Interpolation-with-GLSL ) 但在我的情况下它不能正常工作。图片变得更暗,性能更差(〜5 fps),而且我得到水平和垂直条纹。有什么问题?