AVAudioRecorder 的有效“设置”键/值是啥?
Posted
技术标签:
【中文标题】AVAudioRecorder 的有效“设置”键/值是啥?【英文标题】:What are the valid 'settings' key/values for AVAudioRecorder?AVAudioRecorder 的有效“设置”键/值是什么? 【发布时间】:2018-01-04 08:48:03 【问题描述】:我正在为 macOS 开发一个使用 AVAudioRecorder 的 Swift 应用程序。 initializer method of this class may consume a 'settings' dictionary。相关的 AV 文档都对这些设置键/值的定义位置进行了无 URL 的纯文本引用,例如:
有关录音机可用设置的信息,请参阅 AV Foundation 音频设置常量。
我为此文档搜索了很多,但找不到它。实际上,我已经向 Apple 提交了一份反馈报告,要求他们更新他们的 API 文档,其中包含指向该文档的链接,因为它在许多地方都提到过,但只是按名称。
我已经尝试过广泛使用谷歌搜索。我在他们的开发者网站上使用了 Apple 自己的搜索功能,并在 Xcode 本身中搜索了 API 文档。这项工作尚未找到标题为 AV Foundation Audio Settings Constants 的文档,但我可以找到许多以该确切名称引用它的文档。
有没有人知道这个神秘的 API 文档实际存在于哪里?
【问题讨论】:
也许这就是你需要的? developer.apple.com/documentation/avfoundation/avaudioplayer/… @the4kman - 感谢您的尝试,我以前看过那个。它没有其他文档引用的标题“AV Foundation Audio Settings Constants”,我猜不是这样。 我认为标题改变了,他们没有在其他地方更新文档。 @the4kman - 可能是这样,我期待的设置选项比讨论的要多。我已经尝试使用其中的值设置我的设置字典,但我无法判断它会改变任何内容,但如果我将设置对象设为空,我确实会遇到崩溃。 【参考方案1】:我没有找到任何真正的权威文档,这里只是我迄今为止遇到的参数的运行列表:
AVFormatIDKey :
kAudioFormatAppleLossless
,kAudioFormatMPEG4AAC
AVNumberOfChannelsKey :
2
AVSampleRateKey :
44100.0
AVEncoderBitRateKey:
192000
,320000
AVEncoderAudioQualityKey :
AVAudioQuality.min.rawValue
,AVAudioQuality.max.rawValue
这是一个使用其中一些值创建设置字典的 Swift 示例:
let settings:[String : Any] = [ AVFormatIDKey : kAudioFormatAppleLossless,
AVEncoderAudioQualityKey : AVAudioQuality.max.rawValue,
AVEncoderBitRateKey: 320000,
AVNumberOfChannelsKey : 2,
AVSampleRateKey : 44100.0 ] as [String : Any]
我希望随着我的努力不断更新它,提供更多选项。其他人也欢迎更新,请按照我这里的格式。
【讨论】:
以上是关于AVAudioRecorder 的有效“设置”键/值是啥?的主要内容,如果未能解决你的问题,请参考以下文章
AVAssetWriter 记录设置不像 AVAudioRecorder 那样工作