- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在接到电话或刚好让电话响起后,我们支持后台播放的 AudioKit 应用程序会永远静音,我不确定如何处理。重新启动声音输出的唯一方法是终止并重新启动应用程序。启用和使用 Siri 等其他中断可以顺利进行,并且应用程序的声音在事件期间会被隐藏。
通常,应用程序可以注册自己以接收通知(例如 NSNotification.Name.AVAudioSessionInterruption
)以检测 AVAudioSession
中断,但如何检索 AVSession
通常传递给通知的对象?
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.sessionInterrupted(_:)),
name: NSNotification.Name.AVAudioSessionInterruption,
object: MISSING_AK_AVAUDIOSESSION_REF)
此外,如果能够成功实现音频中断通知,AudioKit 会怎样?它不是为“重新启动”或暂停而设计的。任何帮助将不胜感激。
最佳答案
这将取决于您的应用如何处理它。至少,您需要在中断结束时执行 Audiokit.stop() 和 Audiokit.start()。
你会想用这样的东西注册通知:
NotificationCenter.default.addObserver(self,
selector: #selector(handleInterruption),
name: .AVAudioSessionInterruption,
object: nil)
然后用这样的方式处理它:
@objc internal func handleInterruption(_ notification: Notification) {
guard let info = notification.userInfo,
let typeValue = info[AVAudioSessionInterruptionTypeKey] as? UInt,
let type = AVAudioSessionInterruptionType(rawValue: typeValue) else {
return
}
//...handle each type here
}
关于ios - AVAudioSessionInterruption 的 AudioKit 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50789652/
有人知道为什么我的代码中似乎无法使用 AudioKit 框架吗?我已将框架添加到我的项目中,但是当我尝试导入 AudioKit 时,我只是得到“没有这样的模块 AudioKit”。我有一个完全更新的
通过AKFrequencyTracker,我可以捕获频率。但是如果吉他弹奏三根弦,我可以同时获得这三个频率。我的意思是我们可以有多个频率输出吗? 最佳答案 一句话,没有。抱歉,我们目前没有和弦音高跟踪
我正在开发的应用程序需要在声音链中动态添加/删除/重新排列组件。 到目前为止,我主要在大多数组件上使用 .disconnectOutput() 方法,然后重新连接所有内容。这在大多数情况下都有效,但有
AudioKit 似乎与运行它的硬件紧密结合。例如,如果您将耳机插入计算机,在模拟器上运行简单的 let mic = AKMicrophone() 可能会崩溃。 有什么方法可以配置 AudioKit
换句话说,我需要两个单独的 ADSR 包络用于 OSC 库和滤波器(截止)。我如何通过按音符来同步这两件事? AMOscillatorBank(振幅)->lowPassFilter(截止)->Audi
我正在熟悉 AKMusicTrack 函数,特别是用于从给定序列中清除音符数据的函数。 我可以看到 clearRange() 将清除开始和结束范围之间的音符数据,而 clearNote() 将删除该音
我正在尝试运行 AudioKit.start()在我的viewDidAppear方法,但我收到以下错误: Module 'AudioKit' has no member named 'start' 我
我有一个使用The Amazing Audio Engine 2构建的大型项目。我一直在努力集成 Inter-App-Audio,并希望迁移到 AudioKit 3。 挣扎,意思是,它集成了,但是一旦
我正在使用 Cocoapods 1.5.0、Xcode 9.3、Swift 4.1 和 AudioKit 4.2.2。 我正在创建一个开源 Swift 框架,用于教授 Swift 编码。为了生成声音,
我有一个 iOS 应用程序在 AudioKit 的 iOS 版本中运行良好。我想尝试通过加入 AudioKit.xcframework 来移植到 macOS w Catalyst。这是我所做的 从源代
我有一个具有两个功能的应用程序。播放 AKMetronome 并允许在应用程序不在前台时进行后台播放。另一个是使用 AKMicrophone 的调谐器功能,它只需要在应用程序处于前台时处于事件状态。这
我一直在尝试将 AudioKit 添加到 Xcode 中的项目中,但无济于事 - 即使只是为了将 AudioKit 导入我的 View Controller 而创建的空白项目也会引发 2711 错误,
我在 iOS 11.2 上使用 AudioKit 4.0.4 我使用的代码几乎与 MicrophoneAnalysis 示例项目相同。 class FrequencyProcessor { v
任何可以帮助解决使用振荡器的滑音效果问题。这是代码的一部分,我需要每个周期振荡器在新的随机频率上发声。但是频率随着滑音效果平滑地改变。如何去除滑行效果? 对于 _ 在 1...20 { oscilla
我正在制作一个使用节拍器播放同步音频循环的应用程序。例如,我可能有 3 个这样的文件: bass_60bpm.m4a drums_60bpm.m4a guitar_60bpm.m4a 还有节拍器声音
是否可以通过麦克风进行实时音调校正以获得类似自动调谐的效果?如果可以,有人可以发布一个示例,或者我们可以向 repo 中添加一个示例吗? 这些链接可能有帮助吗? https://github.com/
如何重现 我将“Callback Instrument” Playground (有效)复制到一个新项目中。通过 pod 安装 AudioKit(版本 4.8) 我删除了回调的实现,只放置了 prin
我是AudioKit和数字音频的新手,所以我确定肯定缺少某些东西。 我试图通过获取每个回调的时间戳来从AKMetronome获得准确的时间。时机似乎已经以某种方式量化了,我不知道那是什么。 示例:如果
在当前序列开始播放之前需要播放 1 或 2 个小节进行倒数。只需点击一下即可计入。 能够做类似的事情会很酷 player.sequencer.setTime(MusicTimeStamp(-4))
音频套件 4.9.3iOS 11+ 我正在开发一个项目,其中用户使用麦克风在设备上录音,并且即使应用程序位于后台,设备也会继续录音。这工作正常,但是当接到电话时我收到 AudioKit 错误。我认为这
我是一名优秀的程序员,十分优秀!