去年,我一直在使用AudioKit-4.0.4开发iOS应用。现在,我的应用程序开始运行了,我认为是时候该将AudioKit库更新到一个新版本了。

我已经下载了AudioKit-4.6,只是用新版本替换了我在XCode项目中的旧版“AudioKit For iOS.xcodeproj”。除了AudioKit.start()之外,所有构建的都很好,现在必须用“try”包装。无需其他更改即可成功构建。

但是现在我的应用程序没有声音了。

这是我启动AudioKit的代码:

AKSettings.audioInputEnabled = true
mix = AKMixer()

AKSettings.playbackWhileMuted = true
AudioKit.output = mix

do {
    try AudioKit.start()
    print("----- AudioKit Started -----")
} catch {
    print("Error AudioKit.start")
}

do {
    try AKSettings.setSession(category: AKSettings.SessionCategory.playback, with: AVAudioSession.CategoryOptions.mixWithOthers)
} catch {
    print("Error setSession mixWithOthers")
}

除了没有音频,我还在控制台日志中看到这些重复的消息:
----- AudioKit Started -----
2019-04-08 15:03:45.709359-0700 HarmonicChimes[2708:2212995] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Speaker (type: Speaker)
2019-04-08 15:03:45.711236-0700 HarmonicChimes[2708:2212995] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Speaker (type: Speaker)

这些AV消息显示在我的iOS 12设备上,但不显示iOS 11及更低版本。网上有些搜索表明这些AV消息是Apple的问题,不是AudioKit的问题,但是在AudioKit 4.0.4上运行时我没有看到它们。

没有声音的问题是演出塞子!我已经搜索了“AudioKit没有声音”,但是没有找到任何有意义的东西。

看来4.6不仅仅是4.0的简单插件替代?是否有新的AudioKit API可以开始播放声音?我的应用程序的plist和功能设置为允许后台操作,这可能与此有关吗?

(我正在使用XCode 10.1,macOS 10.13.6和iOS12。)

最佳答案

我在AudioKit的GitHub问题页面上发布了这个问题的答案,但是为了记录在这里,只是AKOscillator过去默认情况下处于启用状态(错误),并且已在最新版本中修复。因此,@ WholeCheese必须在其文件中添加一个osc.start()。接下来,我希望与他进行屏幕共享,以解决Audiobus问题。

关于ios - AudioKit 4.6没有声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55583158/

10-13 03:50