【问题标题】:How to remove app name from Control Center - Music?如何从控制中心 - 音乐中删除应用程序名称?
【发布时间】:2016-07-23 14:16:15
【问题描述】:

我正在开发一个应用程序(不是音乐应用程序),但在某些时候,它可以在启用自动播放的UIWebView(来自 html 5 文件)中播放音频。

问题是,我的应用名称出现在 iPhone 控制中心的“音乐”部分。当我点击我的应用名称时,它会打开我的应用。但是,我不希望这种行为。

我尝试在AppDelegates 中设置[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = nil;,当应用程序进入后台或进入前台甚至终止案例时。但它仍然显示应用程序名称?有什么线索吗?有什么我想设置的吗?

哦,是的,这可能有助于某人了解确切的问题,在我正在 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;
    }
}

请注意,isSystemMediaPlayerPlayingBOOL 类型。

截图:

附:您可以考虑“我的应用名称”,而不是“You Tube”。

【问题讨论】:

  • 对用户'systemMusicPlayer'有什么特殊要求吗?
  • @JAL,感谢您的链接,但它不起作用。这个我试过了。
  • 您可以使用AVPlayer/AvAudio播放器播放音乐,控制中心不会显示音乐
  • @Pyro,它从 HTML 5 文件播放,而不是从我的应用程序播放。

标签: ios objective-c iphone uiwebview mpmovieplayer


【解决方案1】:

不要在您的应用中调用 systemMusicPlayer。如果进入你的应用时正在播放音乐,退出你的应用后它会自动恢复,只需丢弃上面的代码。

【讨论】:

    【解决方案2】:

    1 尝试设置 defaultCenter 的 nowPlayingInfo 字典,以便在 UIWebView 中加载内容后立即显示没有标题的媒体项。

    MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter];
    
    NSDictionary *nowPlayingInfo = @{
                                     MPMediaItemPropertyTitle : @"",
                                     MPMediaItemPropertyArtist : @""
                                     };
    
    [infoCenter setNowPlayingInfo:[NSDictionary dictionaryWithDictionary:nowPlayingInfo]];
    

    2 使用背景音频时,请指定您的应用不应接收远程控制事件。

    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    

    【讨论】:

      【解决方案3】:

      你试过了吗

      [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
      

      【讨论】:

        猜你喜欢
        • 2013-11-10
        • 1970-01-01
        • 1970-01-01
        • 2011-09-26
        • 2012-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多