- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 AudioKit 运行 AKSequencer(),它使用 AKMIDISampler() 播放 mp3 和 wav 文件。一切都很好,除非应用程序进入后台状态超过 30 分钟,然后再次恢复使用。然后它似乎失去了所有的音频连接并播放提到的“丢失文件”正弦波音in other threads .该应用程序可以愉快地暂时进入后台,用户可以在没有提示音的情况下退出等。它似乎只有在长时间处于后台状态然后再次出现时才会发生。
我已经尝试更改 AudioKit.start() 和文件加载的顺序,但似乎无法完全消除该问题。
我目前的解决方法只是为了防止用户的显示超时,但这并没有解决发生问题的许多用例。
有没有一种方法可以处理我设置的导致这种语气的任何错误?这是我正在处理约 40 个音频文件的代表性示例。
//viewController
override func viewDidLoad() {
sequencer.setupSequencer()
}
class SamplerWav {
let audioWav = AKMIDISampler()
func loadWavFile() {
try? audioWav.loadWav("some_wav_audio_file")
}
class SamplerMp3 {
let audioMp3 = AKMIDISampler()
let audioMp3_akAudioFile = try! AKAudioFile(readFileName: "some_other_audio_file.mp3")
func loadMp3File() {
try? audioMp3.loadAudioFile(audioMp3_akAudioFile)
}
class Sequencer {
let mixer = AKMixer()
let subMix = AKMixer()
let samplerWav = SamplerWav()
let samplerMp3 = SamplerMp3()
var callbackTrack: AKMusicTrack!
let callbackInstr = AKMIDICallbackInstrument()
func setupSequencer{
AudioKit.output = mixer.mixer
try! AudioKit.start()
callbackTrack = sequencer.newTrack()
callbackTrack?.setMIDIOutput(callbackInstr.midiIn)
samplerWav.loadWavFile()
samplerMp3.loadMp3File()
samplerWav.audioWav >>> subMix
samplerMp3.audioMp3 >>> submix
submix >>> mixer
}
//Typically run from a callback track
func playbackSomeSound(){
try? samplerWav.audioWav.play(noteNumber: 60, velocity: 100, channel: 1)
}
}
谢谢!我是 AudioKit 的 super 粉丝。
最佳答案
经过反复试验后,这里的工作流程似乎可以解决我所遇到的问题:
-从 viewDidLoad 创建我的回调轨道 -一次-
-停止 AudioKit,并在我所有的 AKMIDISampler 音轨和 willResignActive 中的任何路由上调用 .detach()
-(再次)启动 AudioKit,并从 didBecomeActive 重新加载和重新路由所有音频文件/轨道
关于swift - AudioKit 在从后台返回时创建正弦波音调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57879649/
有人知道为什么我的代码中似乎无法使用 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 错误。我认为这
我是一名优秀的程序员,十分优秀!