Обнаруживает ли музыка играет? - PullRequest
8 голосов
/ 16 февраля 2010

Мое приложение использует музыку (iPodMusic), и есть переключатель UIS, переключающий воспроизведение / паузу. Моя цель - определить, воспроизводится ли музыка, поэтому переключатель воспроизведения / паузы может сказать «играть» во время воспроизведения музыки и «пауза», если это не так.

Ответы [ 4 ]

21 голосов
/ 16 февраля 2010
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...
2 голосов
/ 16 февраля 2010

Если музыка из вашего собственного приложения, установите флажок Свойство playing AVAudioPlayer .

Если музыка из iPod, отметьте MPMusicPlayerController's nowPlayingItem илиplaybackState собственность.

1 голос
/ 21 марта 2010

MPMusicPlayerController доступен только в OS 3.0 или выше. Если вы используете 2.0, вам не повезло. Вот фрагмент кода, который проверяет, используете ли вы 3.0 или выше, и только затем пытается создать MPMuiscPlayerController

bool playerDetectedAndPlaying = false;
NSString *reqSysVer = @"3.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending){
    Class MusicPlayerController = NSClassFromString(@"MPMusicPlayerController");
    if (MusicPlayerController){         
        id myMusicPlayerController = [[MusicPlayerController alloc]init];
        id MusicPlayer = [[myMusicPlayerController class] iPodMusicPlayer ];
        if ( [ MusicPlayer playbackState ] == MPMusicPlaybackStatePlaying ) {
            playerDetectedAndPlaying = true;
        }
    }
}

Вы должны скомпилировать против SDK 3.0, но если вы установите цель развертывания 2.0, этот код по-прежнему будет работать на старых устройствах.

0 голосов
/ 16 июня 2016

Да, если звук iTunes включен, в противном случае - Нет, если звук не воспроизводится в музыкальном проигрывателе iTunes ... Так что вы можете легко проверить, включен ли MusicPlayer Sound по умолчанию. Вам нужно добавить медиаплеер Framework. Just Попробуйте это будет работать должным образом .... Thx ...:)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
...