我的应用程序涉及音乐(iPodMusic),并且有一个 UISwitch 切换播放/暂停。我的目标是能够检测音乐是否正在播放,因此播放/暂停开关可以在播放音乐时说“播放”,如果不是,则“暂停”。
问问题
8394 次
4 回答
21
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying) ...
于 2010-02-16T16:35:53.250 回答
2
如果音乐来自您自己的应用程序,请检查AVAudioPlayer 的playing
属性。
如果音乐来自 iPod,请检查MPMusicPlayerController 的nowPlayingItem
或playbackState
属性。
于 2010-02-16T16:37:36.367 回答
1
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,此代码仍可在旧设备上运行。
于 2010-03-21T19:05:15.793 回答
0
如果您的 iTunes 声音已打开,则为“是”,如果 iTunes 音乐播放器关闭,则为“否”...因此您可以轻松检查默认的 MusicPlayer 声音是打开还是关闭 您需要添加媒体播放器框架,试一试将正常工作....谢谢... :)
if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
{
NSLog(@"yes itune Player Sound is on");
}
else
{
NSLog(@"NO itune Player Sound is not on");
}
于 2016-06-16T11:01:12.317 回答