Я работаю над игрой, сделанной в Unity, и я пытаюсь обработать случай, когда у игрока есть наушники с встроенным в них пультом дистанционного управления. Игрок нажимает кнопку воспроизведения на пульте дистанционного управления во время игры, и музыка из музыкального приложения начнется. В идеале мы бы захватили это событие и отключили нашу музыку, но я не могу найти уведомление, которое срабатывает в этой ситуации. Я попробовал следующее в AppController.mm:iOS Уведомление о музыке Начало игры
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
...
// music notifications
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter
addObserver: self
selector: @selector (handlePlaybackStateChanged:)
name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object: [MPMusicPlayerController iPodMusicPlayer]];
[[MPMusicPlayerController iPodMusicPlayer] beginGeneratingPlaybackNotifications];
return NO;
}
- (void)handlePlaybackStateChanged:(NSNotification*)notification
{
NSLog(@"Playback State: %d", [MPMusicPlayerController iPodMusicPlayer].playbackState);
//if([[MPMusicPlayerController iPodMusicPlayer].playbackState
}
Кто-нибудь знает уведомление, что на самом деле срабатывает в этом случае или так, что я могу идентифицировать эту ситуацию? Заранее спасибо!
Вы пытались инвертировать порядок команд? Вероятно, вам нужно сначала начать генерировать уведомления, и только после этого добавьте себя в качестве наблюдателя. Уведомления, которые публикуются, - MPMusicPlayerControllerPlaybackStateDidChangeNotification, MPMusicPlayerControllerNowPlayingItemDidChangeNotification и MPMusicPlayerControllerVolumeDidChangeNotification. – Cutetare