我正在开发一个应用程序(它不是音乐应用程序)但是,在某些时候,它可以在UIWebView
(来自html 5文件)内播放音频,启用自动播放。
问题是,我的应用名称显示在iPhone“控制中心”的“音乐”部分中。当我点击我的应用名称时,它将打开我的应用程序。但是,我不想要这种行为。
我已尝试在[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = nil;
内设置AppDelegate
,当应用程序转到后台或进入前台甚至终止案例时。但它仍然显示应用程序名称?任何线索?有什么东西我不想设置吗?
哦,是的,这可能有助于某人知道确切的问题,在我正在UIWebView
内播放音频的视图控制器中,我编写了以下代码来处理我的iPhone音乐中正在播放的歌曲(或任何其他)应用程序。
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
MPMusicPlayerController *mp = [MPMusicPlayerController systemMusicPlayer];
if(mp.playbackState == MPMoviePlaybackStatePlaying) {
isSystemMediaPlayerPlaying = YES;
}
}
- (void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if(isSystemMediaPlayerPlaying) {
MPMusicPlayerController *mp = [MPMusicPlayerController systemMusicPlayer];
[mp play];
isSystemMediaPlayerPlaying = NO;
}
}
对于备注,isSystemMediaPlayerPlaying
是BOOL
类型。
截图:
P.S。而不是“你管”,你可以考虑“我的应用名称”。
答案 0 :(得分:4)
你试过吗
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
答案 1 :(得分:3)
1 尝试设置defaultCenter的nowPlayingInfo字典,以便在UIWebView中加载内容后显示没有标题的媒体项。
MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter];
NSDictionary *nowPlayingInfo = @{
MPMediaItemPropertyTitle : @"",
MPMediaItemPropertyArtist : @""
};
[infoCenter setNowPlayingInfo:[NSDictionary dictionaryWithDictionary:nowPlayingInfo]];
2 使用背景音频时,请指定您的应用不应接收远程控制事件。
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
答案 2 :(得分:3)
请勿在您的应用中调用systemMusicPlayer。如果在进入你的应用程序时播放音乐,退出你的应用程序后,它将自行恢复,只需丢弃上面的代码。