Я сделал небольшое тестовое приложение, чтобы попытаться изолировать эту проблему, но он проявляет такое же поведение: приложение MusicPlayer перестает играть сразу, когда приложение входит в фоновый режим. Я не знаю, что я делаю неправильно, или если это ошибка Apple. Кажется настолько простым, что если бы это была ошибка Apple, другие бы столкнулись с ней и отправили ее на нее.iPhone: Почему приложениеMusicPlayer перестает играть, когда приложение входит в фон?
- Я установил ключ Info.plist UIBackgroundModes в аудио
- Я подтвердил, что приложение не является прекращение
- Я тестировал на 4.1 бета 3 с теми же результатами
- I В Интернете вы искали похожие жалобы. Люди сообщают о других проблемах/ошибках MPMediaPlayerController, но более сложны, например. включая взаимодействие с AVAudio.
Любые/все предложения оценены.
Вот суть моего тестового приложения:
MPTest.h
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <MediaPlayer/MediaPlayer.h>
@interface MPTestViewController : UIViewController <MPMediaPickerControllerDelegate> {
MPMusicPlayerController *MPPlayer;
}
@property (nonatomic, retain) MPMusicPlayerController *MPPlayer;
@end
MPTest.m
#import "MPTestViewController.h"
@implementation MPTestViewController
@synthesize MPPlayer;
- (void)viewDidLoad {
[super viewDidLoad];
// get the application music player
self.MPPlayer = [MPMusicPlayerController applicationMusicPlayer];
// break to allow application didFinishLaunching to complete
[self performSelector:@selector(presentMPPicker) withObject:nil afterDelay:0.01];
}
- (void)presentMPPicker {
// present the picker in a modal view controller
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAnyAudio];
picker.delegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
// delegate called after user picks a media item
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
[self dismissModalViewControllerAnimated:YES];
// tell the player what to play
[MPPlayer setQueueWithItemCollection:mediaItemCollection];
// start playing
[MPPlayer play];
}
@end
Как [документ] (http://developer.apple.com/library/ios/#documentation/MediaPlayer/Reference/MPMusicPlayerController_ClassReference/ Reference/Reference.html # // apple_ref/doc/uid/TP40008221), 'applicationMusicPlayer' не будет продолжать воспроизводиться, когда приложение заходит в фоновый режим. Для продолжения воспроизведения используйте «iPodMusicPlayer». – mAu