安卓手机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的发布版时,

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

相关推荐
阿华-vitor1 小时前
自定义控件之动画篇(六)——联合动画的代码及xml实现
android·xml·gitee
会python的小孩1 小时前
SD-WebUI视频重绘:TemporalKit+EbsynthUtility避坑指南
人工智能·tcp/ip·安全·ai作画·stable diffusion·音视频
bagell3 小时前
Stable Diffusion教程:如何实现人脸一致
人工智能·深度学习·机器学习·ai作画·stable diffusion·音视频·midjourney
baozongwi3 小时前
ctfshow web sql注入 web242--web249
android·数据库·经验分享·sql·mysql·web安全
Dnelic-4 小时前
Android 15 应用适配默认全屏的行为变更(Android V的新特性)
android·ui·view·应用开发·android 15·android应用开发
ChatGPT研究院4 小时前
ChatGPT自媒体创作秘籍:高效生成优质文章和视频
人工智能·ai·chatgpt·音视频·媒体
静止了 所有的花开6 小时前
FFmpeg 实现从摄像头获取流并通过RTMP推流
ffmpeg·音视频·h.264
svygh1236 小时前
安卓h5打包系统设计
android·html5·打包
人民的石头6 小时前
Android studio 打包低版本的Android项目报错
android·ide·android studio
xiangxiongfly9157 小时前
Android 换肤之主题换肤
android·换肤·主题换肤