AVAudioSession setCategory 错误
Posted
技术标签:
【中文标题】AVAudioSession setCategory 错误【英文标题】:AVAudioSession setCategory error 【发布时间】:2013-07-26 19:47:14 【问题描述】:试试这个:
[[AVAudiosession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
if (error)
NSLog(@"Error setting category: %@", [error description]);
返回错误“错误设置类别:UIView”,但不确定如何解决此问题。不完全确定它在告诉我什么。
请帮忙!
编辑
音频播放:
NSURL *audioFileURL = [[NSBundle mainBundle] URLForResource:@"DemoSong" withExtension:@"m4a"];
NSError *error;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileURL error:&error];
if (error)
NSLog(@"%@", [error localizedDescription]);
[_audioPlayer setNumberOfLoops:-1];
[_audioPlayer setMeteringEnabled:YES];
[_visualizer setAudioPlayer:_audioPlayer];
[_audioPlayer prepareToPlay];
[_audioPlayer play];
NSLog(@"play audio");
【问题讨论】:
【参考方案1】:您应该检查[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error]
的返回值,如果成功则返回YES
,如果失败则返回NO
。
如果setCategory:error:
的返回值为NO
,则只查看error
变量。
【讨论】:
检查返回值给了我一个真实的结果。音频仍然没有播放。 你能用实际音频播放的代码编辑你的问题吗? @Lagoo87 在你做self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileURL error:&error];
之后尝试检查_audioPlayer == nil
。
是的,它说它出于某种原因是空的。
啊,我明白了 - 文件没有复制到捆绑资源中。谢谢你帮我找到这个:)【参考方案2】:
尝试将您的代码更改为:
NSError * error = nil;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
if(NO == success)
NSLog(@"Error setting category: %@", [error localizedDescription])
看看你是否得到了更具描述性和帮助的东西。
【讨论】:
以上是关于AVAudioSession setCategory 错误的主要内容,如果未能解决你的问题,请参考以下文章