使用 Android MediaMuxer 时显示进度。如何获得总文件(内容)大小?

Show progress whilst using Android MediaMuxer. How to get total file(content) size?

我正在混合音频和视频文件。 我在 urls 中托管了两个文件。 我使用 android.media.MediaMuxer and android.media.MediaExtractor 来混合它们。 在此 muxing 期间,那些 类 下载文件,但我想显示进度,所以我需要知道音频文件和视频文件的总文件大小

有谁知道如何使用 Android API 获取文件大小?还是我必须自己(再次)点击 URL 来获取内容长度?

示例文件

视频 url:https://v.redd.it/832kzf6e23h71/DASH_1080.mp4

音频url:https://v.redd.it/832kzf6e23h71/DASH_audio.mp4

最后我做了一个 HEAD 请求来获取“content-length”header(这给了我文件大小),然后交给 MediaExtractor。

我现在意识到我也可以自己下载文件,然后获取本地 FileDescriptor 并将其传递给 MediaExtractor 从而避免额外的网络请求。