4

试试这个:

[[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");
4

2 回答 2

7

您应该检查 的返回值[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error],因为它YES会在成功和NO失败时返回。

error仅当返回值为setCategory:error:is时才查看变量NO

于 2013-07-26T19:56:25.913 回答
0

尝试将您的代码更改为:

NSError * error = nil;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];
if(NO == success)
{
    NSLog(@"Error setting category: %@", [error localizedDescription])
}

看看你是否得到了更具描述性和帮助的东西。

于 2013-07-26T19:52:48.757 回答