2016-04-04 10 views
10

私はアプリ(音楽アプリではない)で作業していますが、自動再生を有効にしたUIWebView(HTML5ファイルから)の中でオーディオを再生することもできます。Control Center - Musicからアプリ名を削除するには?

問題は、私のアプリ名が「音楽」セクションの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; 
    } 
} 

isSystemMediaPlayerPlayingBOOLタイプです。

スクリーンショット:

enter image description here

P.S. 「You Tube」の代わりに、「My App Name」を考慮することができます。

+0

ユーザ 'systemMusicPlayer'には特別な要件がありますか? – HardikDG

+1

重複していますか? http://stackoverflow.com/q/30711138/2415822 – JAL

+1

@ JAL、リンクありがとうございますが、動作しません。私はこれを試しました。 – Hemang

答えて

3

アプリでsystemMusicPlayerを呼び出さないでください。アプリを終了した後で音楽が再生されている場合は、それだけで再開します。上のコードを破棄してください。

3

あなたは右のあなたのUIWebView内のコンテンツをロードした後、タイトルなしでメディア項目を表示するには、defaultCenterのnowPlayingInfo辞書を設定してみてください

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
2

を試してみました。

MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 

NSDictionary *nowPlayingInfo = @{ 
           MPMediaItemPropertyTitle : @"", 
           MPMediaItemPropertyArtist : @"" 
           }; 

[infoCenter setNowPlayingInfo:[NSDictionary dictionaryWithDictionary:nowPlayingInfo]]; 

バックグラウンドオーディオを使用する場合は、あなたのアプリケーションは、リモートコントロールイベントを受信しないように指定します。

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
関連する問題