开发者

Detecting if music is playing?

开发者 https://www.devze.com 2022-12-20 03:10 出处:网络
My app involves music(iPodMusic), and there is a UISwitch toggling play/pause.My goal is to be able to detect if music is playing, so that 开发者_StackOverflowtherefore the play/pause switch can say \

My app involves music(iPodMusic), and there is a UISwitch toggling play/pause. My goal is to be able to detect if music is playing, so that 开发者_StackOverflowtherefore the play/pause switch can say 'play' when music is playing and 'pause' if it isn't.


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


If the music is from your own app, check AVAudioPlayer's playing property.

If the music is from iPod, check MPMusicPlayerController's nowPlayingItem or playbackState property.


MPMusicPlayerController is only available in OS 3.0 or above. If you're running 2.0 you're out of luck. Here's a code snippet that checks if you're running 3.0 or above and only then attempts to create an 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;
        }
    }
}

You have to compile against a 3.0 SDK, but if you set the deployment target to 2.0, this code still runs on older devices.


it goes to yes if your iTunes sound is on else it goes to no if sound is off of iTunes music player ... So You can check easily default MusicPlayer Sound is On or Off You need to add media-player Framework Just Try It it will work Properly.... Thx...:)

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号