2012-09-13 134 views
-2

可能重复:
AudioQueueStart fail -12985从背景播放音频时出错。 AudioQueue错误12985

这是问once之前,但我试图执行参考答案中的一个(没有被接受)并没有得到任何运气。

我应该提到我已经在pList中设置了正确的背景模式。

基本上,我试图在didEnterRegion中播放声音。这是我的代码:

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region 
{ 
    NSLog(@"MapViewController - didEnterRegion"); 
    NSLog(@"MVC - didEnterRegion - region.radius = %f", region.radius); 

    // code to get the url (removed for simplicity) 

    AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 

    [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [audioSession setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

    self.regionPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 
    NSLog(@"self.regionPlayer.url = %@",self.regionPlayer.url); 
    [self.regionPlayer play]; 
} 

该网址是好的,因为它会在前台播放。它也似乎在控制台日志中确定:

Sep 12 22:33:47 unknown MLTM[4995] <Warning>: MVC - didEnterRegion - region.radius = 250.000000 
Sep 12 22:33:47 unknown MLTM[4995] <Warning>: url = file://localhost/var/mobile/Applications/EFD6A583-5685-4D7C-BF8E-C8CFEA9E0D03/MLTM.app/party%20mix%207.caf 
Sep 12 22:33:47 unknown MLTM[4995] <Warning>: self.regionPlayer.url = file://localhost/var/mobile/Applications/EFD6A583-5685-4D7C-BF8E-C8CFEA9E0D03/MLTM.app/party%20mix%207.caf 
Sep 12 22:33:48 unknown Console[4179] <Notice>: TestFlight: Team Token is recognized 
Sep 12 22:33:48 unknown mediaserverd[44] <Error>: 22:33:48.087 <AudioQueueServer> AudioQueue: Error -12985 from AudioSessionSetClientPlayState(4995) 

我假设,最后一行是试图播放音频时给出的错误。

任何想法?

+0

我看到我们的两个问题之间的相似性,但我会建议他们没有确切的重复。他正在使用AudioQueue缓冲区,我不是。有时候有不止一种方法可以做同样的事情,不是吗? –

+0

我也看到了这个,但不仅不清楚,而且措辞不佳,没有接受的答案。 –

+0

提到与您的问题看起来相似的以前的问题是一个好的开始,但您应该真的提出他们在您的文章中没有明确和明确的理由。 “没有得到任何好运”不是很多描述。 “那里的解决方案是使用X库,我不能使用,因为Y.” “该代码不适用,因为我没有使用AudioQueue。” “我在这个问题中使用了代码,并且我的电脑着火了。”如果您在解释或实施另一个问题的解决方案时遇到困难,只要您具体而详细,询问这个问题是公平的。 –

回答

0

补充一点:

register **UIBackgroundModes** in info.plist for background playing 
[[AVAudioSession sharedInstance] setDelegate: self]; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; 

参考play-mp3-files-with-iphone-sdk链接

+0

我试过了,但没有奏效。我得到了同样的错误。出于好奇,为什么要设置代表?我应该实施什么委托协议? –