اكتشاف ما إذا كانت الموسيقى تعمل؟
-
20-09-2019 - |
سؤال
المحلول
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");
}
لا تنتمي إلى StackOverflow