iPhoneでマルチタスクビュー部分にある音楽プレイヤーインターフェースの使い方
長いこと調べてやっとこさわかりました。
この部分を使うためのキーワードがわかんなかったから時間がかかった…。
どうやらあの部分は「RemoteControl」という部分らしく、ずっとiPodPlayerとかAVAudioPlayerでしらべてて出て来ませんでした。
やり方としてはそこまで難しいこともなく、
[AVAudioPlayer alloc]をする前に、
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
をしてやる。
これをすることで、まずマルチタスク部分に利用中アプリの表示が出ます。
ただこれだけでは終わりません。そのイベントを受け取るデリゲートメソッドが必要です。
//リモートコントロールのデリゲート - (void)remoteControlReceivedWithEvent:(UIEvent *)event { NSLog(@"receive remote control events [%d]",event.subtype); switch (event.subtype) { case 103: //center button [self playButtonAction:nil]; break; case 105: //leftButton [self topButtonAction]; break; default: break; } }
こんな感じのメソッドです。
103が再生、停止ボタン。104が早送り、105が巻き戻しボタンになってます。
ただ、これだけでもメソッドは受け取れません。
再生ビューをfirstResponderにしないとメソッドが動かないので、
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //ファーストレスポンダ登録(リモート操作用) [self becomeFirstResponder]; } - (void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:YES]; //ファーストレスポンダ解除(リモート操作用) [self resignFirstResponder]; }
とします。
これらでやっと動きます。
もちろん、バックグラウンド再生の設定も予めしていなければ、バックグラウンド再生されないのでそのへんは各自行なってください。ios avaudio background とかで検索すれば出てくると思います。
コメントする