Предполагая, что у вас уже есть класс, который будет обрабатывать воспроизведение мультимедиа, остальное довольно просто.
Как упоминалось в предоставленной вами ссылке, любое событие, связанное с мультимедиа, отправляется для приложений, которые его слушают не имеет значения, откуда происходит событие (центр управления, гарнитура ...), эта часть обрабатывается платформой Media Player Framework
В классе вам нужно получить командный центр MPF (среда Media Player Framework ) и установите функции, которые будут запускаться событиями, я покажу только ту, что указана в ссылке, которую вы указали.
class MediaPlayer {
let commandCenter = MPRemoteCommandCenter.shared()
init() {
// this is for the play command, check the docs for more commands
commandCenter.playCommand.addTarget { [unowned self] event in
if self.player.rate == 0.0 { // <- is stopped?
// do your stuff and say to the OS that everything worked
return .success
}
// if the command does not run properly you must inform the OS
return .commandFailed
}
}
}
Есть некоторый недостающий код, который зависит от вашей реализации, но то, что вы хотите, находится здесь , теперь, когда что-то запускает команду "play", ваше приложение обнаружит это, и если проигрыватель не воспроизводит какие-либо мультимедиа, оно запустится.
Вы можете увидеть в docs дополнительную информацию о MPRemoteCommandCenter и другие команды, которые следуют тому же шаблону.