You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ContentResolver.insert创建AAC音频时,如何直接生成.m4a后缀文件?

直接生成带.m4a后缀的AAC音频文件

当然可以直接生成,不用后续重命名,核心是在指定DISPLAY_NAME时直接带上.m4a后缀,同时建议让MIME类型和格式对应更规范。

修改方案:

  • 把DISPLAY_NAME的值从"audio"改成"audio.m4a",明确指定文件名后缀;
  • 可选(更规范):将MIME类型从"audio/aac"改为audio/mp4——因为.m4a本质是MP4容器封装的AAC,标准MIME类型是audio/mp4,这样能避免系统因类型不匹配做自动修正。

修改后的代码:

val contentValues = ContentValues().apply {
    put(MediaStore.Audio.Media.IS_PENDING, 1)
    put(MediaStore.Audio.Media.DISPLAY_NAME, "audio.m4a") // 直接指定带.m4a后缀的文件名
    put(MediaStore.Audio.Media.DATE_ADDED, System.currentTimeMillis() / 1000)
    put(MediaStore.Audio.Media.MIME_TYPE, "audio/mp4") // 对应m4a的标准MIME类型
    put(MediaStore.Audio.Media.RELATIVE_PATH, "Music/My_App_Name")
}
val uri = contentResolver.insert(
    MediaStore.Audio.Media.getContentUri(volume),
    contentValues
)!!

这样执行插入操作后,系统会直接生成audio.m4a文件,无需后续重命名步骤。

内容的提问来源于stack exchange,提问作者user25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 23:54:50