【发布时间】:2013-12-04 22:40:38
【问题描述】:
我使用以下代码播放音频文件。它可以很好地播放 MP3 文件,但是当我尝试播放 AAC 文件时,[[AVAudioPlayer alloc] initWithContentsOfURL:] 返回nil,我收到以下错误:
Error Domain=NSOSStatusErrorDomain Code=1937337955 "The operation couldn’t be completed. (OSStatus error 1937337955.)"
音频文件在 Mac 和 iPhone 上播放良好(当我通过电子邮件将其发送给自己时)并且在这里:https://dl.dropboxusercontent.com/u/2667666/song.aac
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError];
// Create audio player with background music
NSString *backgroundMusicPath = [[NSBundle mainBundle] pathForResource:@"song" ofType:@"aac"];
NSURL *backgroundMusicURL = [NSURL fileURLWithPath:backgroundMusicPath];
NSError *error;
_backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
if (!_backgroundMusicPlayer) {
NSLog(@"_backgroundMusicPlayer pointer is null!!");
}
[_backgroundMusicPlayer setDelegate:self]; // We need this so we can restart after interruptions
[_backgroundMusicPlayer prepareToPlay];
[_backgroundMusicPlayer play];
更新:如果我将文件的扩展名从 aac 更改为 m4a,错误代码将更改为 1954115647(其四个字母代码为“tip?”)。我通过弧扩展得到的错误代码的四个字母代码是“同步”。
【问题讨论】:
-
我确实检查了提供的链接。与错误号相关的 4 字母代码是“sync”
标签: ios avaudioplayer aac m4a