Tôi hiện đang cố gắng thiết lập âm thanh nền cho ứng dụng tôi đang phát triển cho iOS 4. Ứng dụng không có trình phát nhạc chuyên dụng viewController
, tuy nhiên, không giống như âm thanh nền khác các ứng dụng như Pandora, làm cho công việc trở nên khó hiểu hơn một chút.iOS 4: Điều khiển từ xa cho âm thanh nền
Tôi đã đặt chính xác các cài đặt Info.plist
thích hợp và có đối tượng AVAudioPlayer
trong ứng dụng đại biểu có thể truy cập từ mọi nơi. Khi người dùng phát một bài hát, tôi thay thế AVAudioPlayer
bằng một bài hát mới được khởi chạy bằng bài hát và phát bài hát đó. Điều này tất cả các công trình lớn, ngoại trừ bây giờ tôi không có ý tưởng làm thế nào để đi về hỗ trợ các sự kiện điều khiển từ xa.
Dựa trên tài liệu của Apple, tôi có điều này:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
}
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
switch(event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
if([iPhoneAppDelegate backgroundAudioPlayer].playing)
[iPhoneAppDelegate pauseBackgroundAudioPlayer];
else
[iPhoneAppDelegate playBackgroundAudioPlayer];
break;
}
}
Có điều là, nơi nào tôi đặt này? Tài liệu của Apple dường như đề nghị điều này nên đi trong một số bộ điều khiển xem một nơi nào đó, nhưng ứng dụng của tôi có rất nhiều bộ điều khiển xem và bộ điều khiển điều hướng. Bất cứ nơi nào tôi cố gắng đặt điều này, vì lý do nào đó, nhấn nút Toggle Play/Pause trong khay điều khiển từ xa đa nhiệm khiến bài hát tạm dừng một lúc và sau đó bỏ tạm dừng hoặc bằng cách nào đó khiến bài hát phát hai lần.
Cách u thay đổi nút phát/dừng trong thanh tác vụ đa nhiệm ?! –