События Command Center, только отвечая на беспроводные наушники Play / Pause - PullRequest
0 голосов
/ 21 мая 2018

Я использую AVplayer для потоковой передачи аудио с URL.Звук играет, я настроил удаленные командные события.Я использую только кнопки Play / Pause, они работают на экране блокировки.Проблема в том, что когда я подключаю проводные наушники, кнопки воспроизведения / паузы на наушниках не работают.Они работали на беспроводные наушники.Буду признателен за любую помощь в правильном направлении ...

Аудио сессия

let audioSession = AVAudioSession.sharedInstance()

    do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayback)
        UIApplication.shared.beginReceivingRemoteControlEvents()

        try audioSession.setActive(true)

    } catch {

        print(error.localizedDescription)

    }

Командный центр

func setupRemoteTransportControls() {

    let commandCenter = MPRemoteCommandCenter.shared()
 commandCenter.playCommand.isEnabled = true
    commandCenter.pauseCommand.isEnabled = true

    commandCenter.playCommand.addTarget(handler: { (event) in    // Begin playing the current track
        if self.audioPlayer.rate == 0.0 {
            self.audioPlayer.play()
            //return .success
        }
        return MPRemoteCommandHandlerStatus.success
   })

    commandCenter.pauseCommand.addTarget(handler: { (event) in    // Pause current track
        if self.audioPlayer.rate == 1.0 {
            self.audioPlayer.pause()
        }
        return MPRemoteCommandHandlerStatus.success
     })

}

1 Ответ

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

Мне удалось устранить проблему с помощью togglePlayPauseCommand , это используется для событий касания проводных наушников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...