iOS-无法播放音频文件

iOS-无法播放音频文件,ios,mp3,avfoundation,avaudioplayer,Ios,Mp3,Avfoundation,Avaudioplayer,我正在尝试在iPhone上播放mp3音频文件,执行以下代码: NSURL *audioURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/%@.mp3", FONYK_FILES_URL, [self.voicenote valueForKeyPath:@"Fonyker.fonykid"], [self.voicenote valueForKeyPath:@"Voicenote.vnid"]]]; NSDat

我正在尝试在iPhone上播放mp3音频文件,执行以下代码:

    NSURL *audioURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@/%@.mp3", FONYK_FILES_URL, [self.voicenote valueForKeyPath:@"Fonyker.fonykid"], [self.voicenote valueForKeyPath:@"Voicenote.vnid"]]];
    NSData *audioData = [NSData dataWithContentsOfURL:audioURL];
    NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                               NSUserDomainMask, YES) objectAtIndex:0] 
                          stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp3", [self.voicenote valueForKeyPath:@"Voicenote.vnid"]]];
    [audioData writeToFile:filePath atomically:YES];
    NSError *error = nil;
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:filePath] error:&error];
    [audioPlayer play];
当到达AVAudioPlayer实例化时,它会在调试器中输出以下内容:

2012-03-15 17:08:51.531 Fonyk[13004:10703] Error loading /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn:  dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): Symbol not found: ___CFObjCIsCollectable
  Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
 in /System/Library/Frameworks/Security.framework/Versions/A/Security
2012-03-15 17:08:51.544 Fonyk[13004:10703] Error loading /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn:  dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): Symbol not found: ___CFObjCIsCollectable
  Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
 in /System/Library/Frameworks/Security.framework/Versions/A/Security

找不到任何相关内容,知道发生了什么吗?

尝试创建AVURLAsset,并按照中所述异步加载其曲目。在完成块中,您可以创建一个AVPlayerItem并将其传递给玩家


根据,从iOS 5开始,如果尚未加载曲目,播放器应加载曲目。然而,以我的经验,这是行不通的。手动加载它们很有效,所以我就是这么做的

尝试创建AVURLAsset并按中所述异步加载其曲目。在完成块中,您可以创建一个AVPlayerItem并将其传递给玩家


根据,从iOS 5开始,如果尚未加载曲目,播放器应加载曲目。然而,以我的经验,这是行不通的。手动加载它们很有效,所以我就是这么做的

您是否添加了所需的框架?此MP3是否为有效的iOS格式?是,添加了框架。而且我相信mp3本身就是一种格式,它在iOS上工作需要有什么特别的东西吗?一些邪恶的扩展或压缩算法…:)你是否尝试过使用“audioUrl”(而不是克隆文件)播放它?是的,然后我知道你不能这样做,AVAudioPlayer需要一个以file://Any 你的问题有可能是这个问题的重复?您是否添加了所需的框架?此MP3是否为有效的iOS格式?是,添加了框架。而且我相信mp3本身就是一种格式,它在iOS上工作需要有什么特别的东西吗?一些邪恶的扩展或压缩算法…:)你是否尝试过使用“audioUrl”(而不是克隆文件)播放它?是的,然后我知道你不能这样做,AVAudioPlayer需要一个以file://Any 你的问题有可能是这个问题的重复?得到了同样的错误,它必须是爱德华多提到的,这是一个模拟器的问题。无论如何,谢谢你,当我能够在设备上运行时,我会回来检查。我能够在模拟器中播放mp3文件。另一个小区别是:我使用的是AVPlayer而不是AVAudioPlayer,但我怀疑这是问题所在。祝你好运。介意把你使用的代码贴在这里吗?看看有没有区别。我只是按照指南中所示对其进行了编码。得到了相同的错误,它必须是Eduardo提到的,这是一个模拟器问题。无论如何,谢谢你,当我能够在设备上运行时,我会回来检查。我能够在模拟器中播放mp3文件。另一个小区别是:我使用的是AVPlayer而不是AVAudioPlayer,但我怀疑这是问题所在。祝你好运。介意把你使用的代码贴在这里吗?看看有没有区别。我只是按照指南上的说明对它进行了编码。