iPad/iPhone アプリで作業しており、デリゲートの didFinishLaunchingWithOptions メソッドで呼び出すこのコード スニペットを使用してバックグラウンド ミュージックを再生しています。
-(void) playMusic {
NSLog(@"play music!");
NSString *sound_file;
if ((sound_file = [[NSBundle mainBundle] pathForResource:@"musicfile" ofType:@"mp3"])){
NSURL *url = [[NSURL alloc] initFileURLWithPath:sound_file];
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
self.audioPlayer.delegate = self;
[self.audioPlayer setNumberOfLoops:-1]; // Infinite loop
[self.audioPlayer prepareToPlay];
[self.audioPlayer setVolume:0.2];
[self.audioPlayer play];
} else {
NSLog(@"WARN : music file not found!");
}
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
}
しかし、この方法だけでも平均で 0.43 秒かかっていることがわかりました。私はそれを正しい方法でやっていますか?または、音楽の再生を開始するより速い方法はありますか? 助けてください。
私の環境:iOS5、XCode 4.3、iPad 2.0は、今これをテストしたものです