문제

내 앱에는 음악 (iPodmusic)이 포함되며, Uiswitch가 Play/Pause를 전환합니다. 내 목표는 음악이 재생되는지 감지 할 수 있으므로 음악이 재생 될 때 플레이/일시 정지 스위치가 '재생'이라고 말할 수 있고 그렇지 않으면 '일시 중지'할 수 있습니다.

도움이 되었습니까?

해결책

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

다른 팁

음악이 자신의 앱에서 나온 경우 Avaudioplayer 's playing 재산.

음악이 iPod에서 온 경우 확인하십시오 mpmusicplayercontroller 's nowPlayingItem 또는 playbackState 재산.

MPMusicPlayerController는 OS 3.0 이상에서만 사용할 수 있습니다. 2.0을 실행하고 있다면 운이 좋지 않습니다. 다음은 3.0 이상을 실행 중인지 확인하는 코드 스 니펫이 있습니다.

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;
        }
    }
}

3.0 SDK에 대해 컴파일해야하지만 배포 대상을 2.0으로 설정하면이 코드는 여전히 이전 장치에서 실행됩니다.

iTunes 사운드가 켜져 있으면 Itunes Music Player에서 사운드가 꺼져 있으면 NO가됩니다. 따라서 Depault Musicplayer Sound가 쉽게 확인할 수 있습니다. 미디어 플레이어 프레임 워크를 추가해야합니다. 제대로 작동합니다 .... thx ... :)

   if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
    {
           NSLog(@"yes itune Player Sound is on");
    }
    else
    {
          NSLog(@"NO itune Player Sound is not on");
    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top