У меня есть 2 проблемы, связанные со странными звуками в аудиоките. позвольте мне объяснить это вам.
мое приложение имеет структуру, которая использует аудио-разрешения. для воспроизведения и записи уже.
Я попробовал 3 вещи.
1-й подход. Я добавил новую функцию, используя аудио-комплект. когда я запускаю аудио-кит в первый раз, он отлично работает. но когда я перехожу на другой экран и даю разрешение другому фреймворку, другой фреймворк работает нормально, но когда я вернулся к аудио-киту, громкость слишком низкая. Кажется, он сокращен на 50%, и я не могу повысить его до 100%.
чтобы обойти это, я подумал, что мне нужно остановить аудио-комплект и запустить его снова, когда мне придется его использовать. но странные вещи произошли.
2-й подход. если я остановлю аудио-комплект перед тем, как использовать другой фреймворк, вернусь к аудио-комплекту и перезапущу его снова, при воспроизведении звука и его остановке возникают странные жужжащие звуки.
3-й подход. я использовал пример кода из "MetronomeSamplerSync". Я использовал пример кода для приложения метронома. и при воспроизведении я запускаю аудио-кит и на остановке я останавливаю аудио-кит. и если производит ту же проблему странного звука.
вот пример кода.
func startStopAction(met: AKSamplerMetronome, otherMet: AKSamplerMetronome) -> (AKButton) -> Void {
return { button in
// Stop if playing, Start if not playing.
if met.isPlaying {
met.stop()
do {
try AudioKit.stop()
} catch {
AKLog("AudioKit did not stop!")
}
} else {
//If other metronome is playing, sync to it, else just play.
if otherMet.isPlaying {
let now = AVAudioTime(hostTime: mach_absolute_time())
let beatAtNow = otherMet.beatTime(at: now)
met.setBeatTime(beatAtNow, at: now)
} else {
do {
try AudioKit.start()
} catch {
AKLog("AudioKit did not start!")
}
met.play()
}
}
button.title = met.isPlaying ? "Stop" : "Play"
}
}