【问题标题】:AudioKit 4.6 no soundAudioKit 4.6 no sound
【发布时间】:2019-08-30 04:15:14
【问题描述】:

去年我一直在使用 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 和 iOS 12。)

【问题讨论】:

  • 我现在有一个简化的 iOS 演示应用程序来演示这个问题。当使用 AudioKit 4.0.4 编译时,它按预期工作。使用 AudioKit 4.6 构建时,它无法产生声音。我要在这里附上这两个 Xcode 项目吗?
  • 那太好了@WholeCheese
  • 有没有办法将文件附加到 StackOverflow 中的线程?无论如何,我已将“PlayTone-4.0.4.zip”上传到我的网页。在 AK4.0.4 下运行良好。换成AK4.6你会看到(听不到)没有声音的问题:wholecheese.com/demos
  • 哦,是的,我已经构建了一些 AK4.6 示例应用程序,它们确实对我有用。这表明我在 4.0.4 中正在做的事情在 4.6 中不再受支持。请注意,我在 PlayTone 演示中所做的是基于我从 4.0 中提供的示例中学到的知识。
  • @AureliusProchazka 你有机会看看这个吗?在解决此问题之前,我基本上坚持使用 AK 4.0.4。我非常希望更新到 AK 4.6,尤其是因为我现在也在尝试将 Audiobus 集成到我的应用程序中。

标签: ios swift audiokit


【解决方案1】:

我在 AudioKit 的 GitHub 问题页面中发布了这个问题的答案,但在这里记录一下,只是 AKOscillator 过去默认开启(坏)并且已在最新版本中修复。因此,@WholeCheese 必须将 osc.start() 添加到他的文件中。接下来,我希望和他做一个屏幕共享来解决 Audiobus 的问题。

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 2022-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多