iOS 6 では、AVAudioSession を設定して mp3 ファイルを再生できました。Base を iOS 7 に設定して実行している場合、これは機能しなくなります。これがうまくいかない理由はありますか?アプリがクラッシュすることはありません...mp3 が再生されないだけです。この同じコードと同じ URL が iOS 6 アプリで動作することを確認しました。
エラーは次のとおりです。
ERROR: 185: Error creating aggregate audio device: 'what'
WARNING: 219: The input device is 0x31; 'AppleHDAEngineInput:1B,0,1,0:1'
WARNING: 223: The output device is 0x28; 'AppleHDAEngineOutput:1B,0,1,1:0'
ERROR: 398: error 'what'
_itemFailedToPlayToEnd: {
kind = 1;
new = 2;
old = 0;
}
コード:
- (void)viewDidLoad {
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
if (setCategoryError) { /* handle the error condition */ }
NSError *activationError = nil;
[audioSession setActive:YES error:&activationError];
if (activationError) { /* handle the error condition */ }
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
NSURL *newURL = [NSURL URLWithString:_entry.articleUrl];
self.player = [[MPMoviePlayerController alloc] initWithContentURL: newURL];
[player prepareToPlay];
player.allowsAirPlay = YES;
player.scalingMode = MPMovieScalingModeAspectFit;
player.view.frame = self.view.frame;
[self.view addSubview: player.view];
[self.player setFullscreen:YES animated:YES];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(exitedFullscreen:)
name:MPMoviePlayerDidExitFullscreenNotification
object:player];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playbackStateChanged:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:player];
[player play];
[super viewDidLoad];
}