我的应用涉及音乐(iPodMusic),有一个UISwitch可以切换播放/暂停。我的目标是能够检测音乐是否正在播放,因此当音乐正在播放时,播放/暂停开关应该显示“播放”,如果没有播放,则显示“暂停”。
我的应用涉及音乐(iPodMusic),有一个UISwitch可以切换播放/暂停。我的目标是能够检测音乐是否正在播放,因此当音乐正在播放时,播放/暂停开关应该显示“播放”,如果没有播放,则显示“暂停”。
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...
playing
属性。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,则此代码仍可在旧设备上运行。
如果您的iTunes声音开启,它会变成“是”,否则它会变成“否”,表示iTunes音乐播放器的声音关闭...因此,您可以轻松检查默认的MusicPlayer声音是否开启或关闭,您需要添加media-player框架,只需尝试一下,它就能正常工作...谢谢...:)
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
{
NSLog(@"yes itune Player Sound is on");
}
else
{
NSLog(@"NO itune Player Sound is not on");
}
MPMusicController
的iPodMusicPlayer
方法,因此必须进行修复:将其替换为systemMusicPlayer
。 - DDPWNAGE