AVAudioPlayer uygulamasını kullanarak arka planda ses dosyaları dizisi çalmaya çalışıyorum. Uygulama arka planda olmadığında iyi oynar, ancak uygulama arka plana gittiğinde ikinci şarkıyı çalmaz.iphone: arka planda ses çalma listesi çalınıyor?
-(void)playAudio:(NSString *)path{
NSURL *url = [NSURL fileURLWithPath:path];
NSError *error;
AVAudioPlayer *ap = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
ap.delegate = self;
mainController.audioPlayer = ap;
[ap release];
if (mainController.audioPlayer == nil)
NSLog([error description]);
else{
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
[mainController.audioPlayer prepareToPlay];
if([mainController.audioPlayer play]){
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
}
if (newTaskId != UIBackgroundTaskInvalid && bgTaskId != UIBackgroundTaskInvalid)
[[UIApplication sharedApplication] endBackgroundTask: bgTaskId];
bgTaskId = newTaskId;
}
}
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
NSLog(@"finished now next...");
[self playAudio:[self getNextAudio]];
}
Ben app ayıklanan ve buna ikinci şarkı [mainController.audioPlayer oyun] oynamak üzere olduğu zaman çalamaz anlamına gelir YOK döndürdüğünü görünüyor:
İşte benim kodudur. Peki siz ne düşünüyorsunuz?
kullanıcı ana düğmesine basar ve Uygulama arka giderseGÜNCELLEME bunun düzgün oynamaya devam etmez gibi görünüyor bazı testlerden sonra
sadece cihaz kilitleri eğer ancak sorun hala
kalır
sizin için küçük bir yardım: Evet ben baktım http://stackoverflow.com/questions/3161635/entering-background-on-ios4-to-play-audio/3161899#3161899 – iwasrobbed
Daha önce bu iş parçacığında ve kodumun bir kısmı oradan. bir sebepten dolayı AVAudioPlayer arka planda olduğunda yeni bir parça çalmayı reddediyor. – Alex1987
@IWasRobbed - Benzer bir sorun yaşadınız. Bazı kodlarını gönderebilir misin? Teşekkürler – Alex1987