在 2018 年或更高版本的 Macbook Pro 上使用 Catalina Dev Beta 5 开始 Quicktime 音频录制时输出的文件没有声音(选择 Macbook Pro 麦克风)。此处的示例文件:https://www.dropbox.com/s/ib67k0vg8cm93fn/test_no_audio%20%281%29.aifc?dl=0
在录制过程中录制控制台显示此错误:
“CMIO_Unit_Converter_Audio.cpp:590:RebuildAudioConverter AudioConverterSetProperty() 失败 (1886547824)”
我们有一个使用 AVFoundation 同时录制屏幕和音频的应用程序,生成的视频文件也没有音频。然而,当检查 CMSampleBuffers 时,它们看起来很好:https://gist.github.com/paulius005/faef6d6250323b7d3386a9a70c08f70b
是否还有其他人遇到过此问题,或者如果 Apple 正在解决这个问题,是否可能有更多的知名度?
我还应该考虑其他什么来解决这个问题吗?
最佳答案
是的,Apple 正在更改与 Catalina 上的音频子系统层相关的很多内容。我知道正在为 Catalina 重写各种音频应用程序。此外,自 beta2 以来,每个新的 beta 版本都会有一些弃用,但也会有一些新的实现 [对 MacOS 的新音频层]。
当前 Beta 5 音频弃用:
OpenAL 框架已被弃用,但仍存在 兼容性目的。过渡到用于空间音频的 AVAudioEngine 功能。
AUGraph 已弃用,取而代之的是 AVAudioEngine。
应用间音频已弃用。为此功能使用音频单元。
基于 Carbon 组件的 Audio Unit 已被弃用,并且将在未来的版本中删除支持。
不再支持旧版 Core Audio HAL 音频硬件插件。将音频服务器插件用于音频驱动程序。
__
关于 AVFoundation [您正在使用的]:
在 Beta 5 中已弃用:
之前弃用的 32 位 QuickTime 框架在 macOS 10.15 中不再可用。
依赖于 QuickTime 框架的 QTKit 的符号仍然存在但类是非功能性的。
上面的项目:Apple 在 Catalina Beta 5 上提供了 QTkit 的符号,但它们是空的,没有功能。这意味着,应用程序将运行,但如果它使用那些 AVFoundation 类则不会产生任何结果。 (我不知道那些弃用是否直接或间接影响了你的程序,但它们是关于 AVFoundation 的)
我认为它们将在下一个测试版中被完全删除,但目前它们是无效的,否则它会完全导致许多试图加载它们的音频/AV 应用程序立即崩溃。这似乎是从 beta 到 beta 的逐步“迁移”,以便给开发人员时间(?)将他们的音频应用程序重写到新的音频子系统。
您可以在发行说明上找到更多详细信息 [以及一些新类和函数文档的链接以替换已弃用的文档],但它还不是一个好的/丰富的文档。
PS:关于我的意见、观点和写在这里的信息:我是一名高级 MacOS 开发人员,但不在 AV/Audio/Media 子系统上,我的领域是 Kernel/Networking/Security。但我正在密切关注 MacOS 操作系统自第一次发布以来在每个 Catalina beta 版本上发生的所有变化,我注意到 Apple 在音频子系统上所做的变化是重大变化。
我无法具体帮助您解决音频编程问题,但您问这是否是 Apple 正在研究的问题,是的,是的。
我希望这些信息可以帮助您获得补充信息以解决您的申请问题。
关于swift - 卡特琳娜测试版 5 : Quicktime Audio Recording Not Working on 2018 Macbook Pros sw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57334454/