gpt4 book ai didi

objective-c - 如何在 cocoa 中获取音频文件的比特率

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:21 26 4
gpt4 key购买 nike

我需要从音频文件中获取比特率信息,出于某种原因,带有 kAudioFilePropertyBitRate 常量的 AudioFileGetProperty 函数总是为我返回 0。与 kAudioFilePropertyInfoDictionary 相同,生成的字典不包含比特率信息。如果是 mp3,我会尝试从原始数据中手动获取它,但我需要支持不同的文件格式,例如 m4a 和其他格式。还有其他方法吗?

最佳答案

如果您正在处理一个文件,您总是可以尝试使用 Spotlight 元数据 API。例如,假设您将音频文件的路径作为 NSString 或 CFStringRef 称为“路径”:

MDItemRef item = MDItemCreate( kCFAllocatorDefault, path );
CFNumberRef audioBitrate = MDItemCopyAttribute( item, kMDItemAudioBitrate );
CFNumberRef totalBitrate = MDItemCopyAttribute( item, kMDItemTotalBitrate );
CFRelease( item );

这并不理想,但至少可以为您提供一些更多的背景信息来说明为什么其他 API 无法正常工作。

我唯一能想到的另一件事:kAudioFilePropertyBitRate 仅在 OS X 10.5 中定义。如果您在 10.4 或更早版本上运行,您的代码仍会运行,但 AudioFile 框架根本不知道比特率属性,因此可能会返回零。

关于objective-c - 如何在 cocoa 中获取音频文件的比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/860388/

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