安卓手机APP开发__媒体3格式转换器__常见问题解答

安卓手机APP开发__媒体3格式转换器__常见问题解答

目录

[1 为什么在示例的APP中我不能读取到本地的文件?](#1 为什么在示例的APP中我不能读取到本地的文件?)

[2 在一个特定的设备为什么导出失败?](#2 在一个特定的设备为什么导出失败?)

[3 媒体3格式转换器支持转码(或者是录制)远程的媒体吗?](#3 媒体3格式转换器支持转码(或者是录制)远程的媒体吗?)

[4 媒体3格式转换器支持8K输入吗?](#4 媒体3格式转换器支持8K输入吗?)

[5 媒体3格式转换器如何关联到执行可兼容的媒体转码?](#5 媒体3格式转换器如何关联到执行可兼容的媒体转码?)

[6 我如何能够降低导出延迟或者是增加流量?](#6 我如何能够降低导出延迟或者是增加流量?)


1 为什么在示例的APP中我不能读取到本地的文件?

从安卓11(API级别30)开始,有作用域的存储强化了对直接读取文件系统的阻止力度。

在开发期间,为了手工的测试,通过在示例APP的配置文件中加上管理外部存储的权限,

实现对本地文件的读取是可行的方法。

XML 复制代码
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

然后在使用adb进行授权:

bash 复制代码
adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

2 在一个特定的设备为什么导出失败?

用重现该问题的足够多的信息来描述这个问题,并发送给媒体3的问题跟踪器。

设备专用的问题能够被加入到库中,来改善可兼容性。

3 媒体3格式转换器支持转码(或者是录制)远程的媒体吗?

媒体3格式转换器支持远程的先进的数据流,包括媒体文件容器,例如MP4。

在非常差的网络条件下,因为缓冲远程的媒体失败,而导致导出失败。

你能通过设置maxDelayBetweenMuxerSamplesMs这个参数,来覆盖

媒体3格式转换器的默认行为:

Kotlin

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格式转换器如何关联到执行可兼容的媒体转码?

从安卓12(API级别31)开始,可兼容的媒体转码是安卓平台的一个特性,它把媒体转换

成APP的支持格式。如果你为了使用这个特性,读一个不兼容的格式的媒体文件,

引起了这个文件被按需要进行转码,并且结果被缓存起来,为之后的读取操作做准备。

媒体3格式转换器也支持格式的转换,但是作为一个支持库,它是可用的,并且

APP能完全控制转码的操作。

6 我如何能够降低导出延迟或者是增加流量?

媒体3格式转换器依赖于MediaCodec,来实现硬件的加速的解码和编码,并且

OpenGL用于处理视频的帧。基于在经典设备上的我们的度量,媒体3格式转换器的流量上

的限制因素是硬件的MediaCodec编码器的流量,对于用例来说没有重量级的影响处理能力。

这以相同的方式影响到其它的实现。例如,平台可兼容的转码特性与媒体3格式转换器

有相似的性能表现。

示例APP的调试预视着有巨大地减少流量,所以当测试一个示例APP的发布版时,

关闭预览特性,来得到一个真实的性能。

相关推荐
艾思软件-app开发公司2 小时前
多平台视频下载工具的实现原理与技术实践, 免费下载视频下载工具
音视频·视频·视频下载·视频下载工具
alexhilton2 小时前
在Jetpack Compose中创建CRT屏幕效果
android·kotlin·android jetpack
2501_940094024 小时前
emu系列模拟器最新汉化版 安卓版 怀旧游戏模拟器全集附可运行游戏ROM
android·游戏·安卓·模拟器
下位子4 小时前
『OpenGL学习滤镜相机』- Day9: CameraX 基础集成
android·opengl
参宿四南河三6 小时前
Android Compose SideEffect(副作用)实例加倍详解
android·app
火柴就是我7 小时前
mmkv的 mmap 的理解
android
没有了遇见7 小时前
Android之直播宽高比和相机宽高比不支持后动态获取所支持的宽高比
android
shenshizhong8 小时前
揭开 kotlin 中协程的神秘面纱
android·kotlin
vivo高启强8 小时前
如何简单 hack agp 执行过程中的某个类
android
沐怡旸8 小时前
【底层机制】 Android ION内存分配器深度解析
android·面试