ios - 比较应该相同的 AAC 音频文件 - 时间戳?

标签 ios audio diff aac extaudiofile

我在 iPhone (iOS) 和模拟器中编码 AAC/M4A 音频文件时遇到问题

  1. 单声道/立体声和
  2. 轨道时长

被 VLC 等外部播放器正确识别。

为了解决各种设备上的问题,我编写了代码来为各种编码配置生成测试文件。编码后的声音是生成的始终相同的正弦波。这很好用。在下一步中,我对这些在不同设备和模拟器中生成的测试文件进行二进制比较。令我惊讶的是,.m4a 文件从来都不相同(aac 文件始终相同)。我使用 ExtAudioFile...() 方法写入文件,并使用文件类型标识符 kAudioFileM4AType

我怀疑这些文件中包含时间戳,这会混淆我的二进制比较。

谁能证实或反驳 M4A 文件中有时间戳,这总是会混淆二进制比较?

最佳答案

M4A 是一种容器格式,几乎肯定会包含一些元数据。正如您所怀疑的那样,这些元数据中的一些很可能与一种编码不同。

您最好编写某种算法来查看您的 M4A 文件是否包含与您拥有的 AAC 数据匹配的字节流。解决此问题的一种方法是在十六进制编辑器中手动比较两个文件(M4A 和 AAC 具有相同的原始声音数据)并尝试找到 AAC 数据开始和/或结束的偏移量,然后只比较该数据。

关于ios - 比较应该相同的 AAC 音频文件 - 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29471625/

相关文章:

iphone - 为越狱的 iPhone 创建调整/应用程序/脚本

ios - 尝试在 Swift 3 中保存自定义对象时尝试插入非属性列表对象

react-native - 在 React Native 中播放音频的库

ios - AVAudioSession 播放时录音奇怪的问题

ubuntu - 将 p4 diff 更改为 diff 在 ubuntu 中不起作用

ios - Pod 版本控制深度

ios - swift : Error on value of type 'Data' to type 'Data'

python - Librosa:过滤奈奎斯特以外的通带

macos - 适用于 Mac 的 Diff 工具,无需将文本保存到文件

git - 如何读取 git diff 的输出?