Как приостановить и воспроизвести музыку с AVPlayer в Swift в другом представлении - PullRequest
0 голосов
/ 11 января 2019

У меня 2 просмотра. Один со списком музыки и один «вид музыкального проигрывателя». Я использую приведенный ниже код для приостановки и воспроизведения музыки в режиме «Просмотр музыкального проигрывателя».

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

override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
    presses.forEach { press in
        switch press.type {
        case .playPause:
            if player.isPlaying {
                player.pause()
            }
            else {
                player.play()
            }
        default: break
        }
    }

}

Я хочу, чтобы музыка приостанавливалась, если музыка воспроизводилась, и играла, если она не воспроизводится, в обоих видах.

1 Ответ

0 голосов
/ 12 января 2019

Вместо того, чтобы проходить через все наборы нажатий, просто сделайте первое прикосновение, как показано ниже `

override func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
 guard let press = presses.first else { return }
        switch press.type {
        case .playPause:
            if player.isPlaying {
                player.pause()
            }
            else {
                player.play()
            }
        default: break
        }
    }

}

Но для вашей второй проблемы вам нужно предоставить больше информации.

...