22

私が達成しようとしていることの良い例は、Spotify iPhoneアプリケーションの最新バージョンに実装されています(Pandoraは同じ機能を持っているようです)。

Spotifyがバックグラウンドにある場合、ダブルタップすると「マルチタスクドック」が開き、iPodコントロール(再生/一時停止、転送など)でSpotifyの音楽再生を制御できます(iPodアプリケーションではありません)。また、iphone / ipod touchがロックされている場合、ダブルタップすると同様の再生コントロールが表示されます。

私が何を意味するのかわからない場合は、スクリーンショットのある記事があります: http ://www.wired.com/gadgetlab/2010/07/spotify-updated-for-ios4-ready-to-replace-ipod/

私の現在のアプリケーションでは、音楽はサーバーからストリーミングされます(Matt GallagherのAudioStreamerを使用)。私はなんとか音楽をバックグラウンドで再生し続けることができました。ここで、再生を「マルチタスクドック」/ロック画面にリンクしたいと思います。

使用する必要があり[MPMusicPlayerController iPodMusicPlayer]ますか?どうすればいいですか?

ボーナスの質問:「マルチタスクドック」でiPodアイコンをアプリケーションアイコンに変更する方法を教えていただければ(Spotifyもそのトリックを引き出しました...)、それは素晴らしいことです。

助けてくれてありがとう。

4

3 に答える 3

31

問題は解決しました。

つまり、リモート コントロール イベントを有効にするには、1) を使用します。

- (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent

そして2)これをあなたのView Controllerに入れます:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
    return YES;
}

グラントの功績を称えなければなりません。彼は Matt Gallagher の AudioStreamer をフォークして、すべての ios4 の改善 (バックグラウンド オーディオとリモート コントロールの動作) を有効にしました。彼のソースと実際のサンプルは github で見つけることができます: http://github.com/DigitalDJ/AudioStreamer

アイコンについて : を使用するbeginReceivingRemoteControlEventsと、アイコンは自動的にアプリのアイコンに切り替わります。素晴らしい !

于 2010-07-09T08:35:34.007 に答える
2

ドキュメントは次のとおりです。

http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/RemoteControl/RemoteControl.html

ただし、アプリケーションでアクティブなオーディオセッションがある場合にのみ機能することに注意してください。

カテゴリで使用してAVAudioSessionおり、「リモートコントロール」は、アクティブでオブジェクトを作成した場合にのみ機能します。AVAudioSessionCategoryPlaybackAVAudioPlayerAVAudioSessionAVAudioPlayer

于 2011-05-06T20:05:34.453 に答える
1

新しいバックグラウンド オーディオ API を使用している場合、アプリケーションのコントロールが変更されます。情報はこちらでご覧いただけます。具体的には、バックグラウンド オーディオに関するセクションです。

于 2010-07-07T15:44:37.990 に答える