Определение, играет ли музыка?


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

4 8

4 ответа:

if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...

Если музыка из вашего собственного приложения, проверьте СВОЙСТВО AVAudioPlayer playing .

Если музыка с iPod, проверьте MPMusicPlayerController nowPlayingItem или playbackState свойство.

MPMusicPlayerController доступен только в ОС 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, этот код все равно будет выполняться на старых устройствах.

Он переходит в Да, если ваш звук iTunes включен, он переходит в нет, если звук выключен из музыкального проигрывателя iTunes ... Таким образом, вы можете легко проверить по умолчанию MusicPlayer звук включен или выключен вам нужно добавить Media-player Framework просто попробуйте это будет работать должным образом.... Тнх...:)

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