سؤال

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

إذا كانت الموسيقى من التطبيق الخاص بك ، تحقق Avaudioplayer's playing منشأه.

إذا كانت الموسيقى من iPod ، تحقق mpmusicplayercontroller's nowPlayingItem أو playbackState منشأه.

يتوفر 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;
        }
    }
}

يجب عليك التجميع مقابل 3.0 SDK ، ولكن إذا قمت بتعيين هدف النشر على 2.0 ، فلا يزال هذا الرمز يعمل على الأجهزة القديمة.

   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