AudioKit остановить и начать производить странные звуки - PullRequest
0 голосов
/ 14 мая 2018

У меня есть 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"
        }
    }

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

У меня была странная проблема со звуком.и я исправил проблему, снова назначив аудиофайлы метроному.странного звука больше не было, громкость не снижалась.надеюсь, это поможет всем.

0 голосов
/ 16 мая 2018

У меня была такая же проблема (громкость аудиокита уменьшена на 50%).Мне пришлось удалить следующие строки в моем другом коде:

    let session = AVAudioSession.sharedInstance()
    do {
        // Configure the audio session for movie playback
        try session.setCategory(AVAudioSessionCategoryPlayback,
                                mode: AVAudioSessionModeMeasurement,
                                options: [])

Я предполагаю, что категории сеансов должны быть установлены очень тщательно, и лучше всего было бы, если бы ваша другая платформа и AudioKit использовали ту же настройку AVAudioSessionтолько однажды.Надеюсь, это поможет.

...