一诺互联网站建设公司,网页设计课程总结,优化模型有哪些,wordpress主题模板制作教程安卓手机APP开发__媒体3格式转换器__常见问题解答
目录 1 为什么在示例的APP中我不能读取到本地的文件#xff1f;
2 在一个特定的设备为什么导出失败#xff1f;
3 媒体3格式转换器支持转码#xff08;或者是录制#xff09;远程的媒体吗#xff1f;
4 媒体3格式转换…安卓手机APP开发__媒体3格式转换器__常见问题解答
目录 1 为什么在示例的APP中我不能读取到本地的文件
2 在一个特定的设备为什么导出失败
3 媒体3格式转换器支持转码或者是录制远程的媒体吗
4 媒体3格式转换器支持8K输入吗
5 媒体3格式转换器如何关联到执行可兼容的媒体转码
6 我如何能够降低导出延迟或者是增加流量 1 为什么在示例的APP中我不能读取到本地的文件
从安卓11API级别30开始有作用域的存储强化了对直接读取文件系统的阻止力度。 在开发期间为了手工的测试通过在示例APP的配置文件中加上管理外部存储的权限 实现对本地文件的读取是可行的方法。
uses-permission android:nameandroid.permission.MANAGE_EXTERNAL_STORAGE/
然后在使用adb进行授权
adb shell appops set --uid androidx.media3.demo.transformer \MANAGE_EXTERNAL_STORAGE allow
2 在一个特定的设备为什么导出失败
用重现该问题的足够多的信息来描述这个问题并发送给媒体3的问题跟踪器。 设备专用的问题能够被加入到库中来改善可兼容性。 3 媒体3格式转换器支持转码或者是录制远程的媒体吗
媒体3格式转换器支持远程的先进的数据流包括媒体文件容器例如MP4。
在非常差的网络条件下因为缓冲远程的媒体失败而导致导出失败。 你能通过设置maxDelayBetweenMuxerSamplesMs这个参数来覆盖 媒体3格式转换器的默认行为
Kotlin Transformer.Builder(context).setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET).build()
在C.TIME_UNSET完全地取消超时但是如果你的APP运行在芯片上当 MediaCodec能够阻塞时你可能要设置一个非常大的非零的超时。 4 媒体3格式转换器支持8K输入吗
媒体3格式转换器以一个格式不可知的方式被实现出来的所以它不局限于处理8K的视频。 但是在设备上的硬件能力可能意味着导出是不成功的。 例如甚至是在设备上能够捕捉到8K的信号它可能没有能力解码和重编码为8K的视频 因为这超过了可用的硬件的codec的能力或者是超过了RAM资源的能力。 5 媒体3格式转换器如何关联到执行可兼容的媒体转码
从安卓12API级别31开始可兼容的媒体转码是安卓平台的一个特性它把媒体转换 成APP的支持格式。如果你为了使用这个特性读一个不兼容的格式的媒体文件 引起了这个文件被按需要进行转码并且结果被缓存起来为之后的读取操作做准备。
媒体3格式转换器也支持格式的转换但是作为一个支持库它是可用的并且 APP能完全控制转码的操作。 6 我如何能够降低导出延迟或者是增加流量
媒体3格式转换器依赖于MediaCodec来实现硬件的加速的解码和编码并且 OpenGL用于处理视频的帧。基于在经典设备上的我们的度量媒体3格式转换器的流量上 的限制因素是硬件的MediaCodec编码器的流量对于用例来说没有重量级的影响处理能力。 这以相同的方式影响到其它的实现。例如平台可兼容的转码特性与媒体3格式转换器 有相似的性能表现。
示例APP的调试预视着有巨大地减少流量所以当测试一个示例APP的发布版时 关闭预览特性来得到一个真实的性能。