gpt4 book ai didi

ios - 为什么 iOS 上的 Codename One 将音频录制为 CAF?

转载 作者:行者123 更新时间:2023-12-01 19:54:53 30 4
gpt4 key购买 nike

我的问题与此有关other SO question .我正在尝试通过 Capture.captureAudio() 在 iOS 中录制音频.它输出的音频文件可以在计算机上读取,但在 iOS (iPhone 4S) 和 Android 上都无法读取。

ffmpeg -i 产生:

Input #0, caf, from 'myFile.m4a':
Duration: 00:00:07.04, start: 0.000000, bitrate: 37 kb/s
Stream #0:0: Audio: aac (aac / 0x20636161), 16000 Hz, mono, s16, 23 kb/s

如果我通过 Voice Recorder 应用程序使用 iOS 录制文件,我会从 ffmpeg 获得:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Test.m4a':
Metadata:
major_brand : M4A
minor_version : 0
compatible_brands: M4A mp42isom
creation_time : 2017-04-03 19:01:32
date : 2017-04-03T21:01:09+0200
encoder : com.apple.VoiceMemos (iPhone OS 7.1.2)
Duration: 00:00:05.15, start: 0.000000, bitrate: 67 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, s16, 64 kb/s
Metadata:
creation_time : 2017-04-03 19:01:32
handler_name : Core Media Audio

此文件可以在 Android 和 iOS 上播放。

虽然乍一看 mime 类型似乎被限制为“amr”
    /**
* Gets the available recording MimeTypes
*/
public String [] getAvailableRecordingMimeTypes(){
return new String[]{"audio/amr"};
}

一览 native code显示在 iOS 上它记录为“MPEG4AAC”16kHz。

因此,为什么我会得到一个无法在移动设备上播放的 caf 文件?

任何帮助表示赞赏!

最佳答案

caf 文件为 Core Audio Format文件。它们只是苹果用于其音频的包装器,因为它在存储“未包装”音频方面具有一些优势。

caf 包装器中的音频仍使用您指定的格式进行编码。由于它只是一个包装器,因此“解包”它应该快速且容易。 This google search for "convert caf to mp4"显示很多结果。如果您希望以编程方式执行此操作,则适当的 Google 搜索应该会产生大量结果。

关于ios - 为什么 iOS 上的 Codename One 将音频录制为 CAF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226775/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com