如何为AVAudioPlayer制作安全的mp3文件,而不会出错

时间:2011-09-30 10:25:39

标签: iphone objective-c ios ipad avaudioplayer

尝试在iOS应用上播放一些mp3文件时遇到问题。 首先,我注意到这些文件在Safari for iOS上也不起作用,但现在我的文件在Safari for iOS上运行,并且在我的应用程序上不起作用。

我正在使用该代码播放mp3音频文件:

NSString *pronociationPath = …..

if (pronociationPath != nil) 
{           
    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:pronociationPath];
    NSError *error;

    self.player=[[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error] autorelease];
    [fileURL release];
    [self.player setNumberOfLoops:0];
    if (self.player == nil) {
        NSLog(@"%@",error);
    }
    else
    {
        [self.player prepareToPlay];
        [self.player play];
    }
}

我在Safari iOS上运行的文件出现此错误:

  

错误域= NSOSStatusErrorDomain代码= 1685348671“操作   无法完成。 (OSStatus错误1685348671。)“

我的代码有问题吗? 有没有为iOS Apps创建安全mp3文件的指南? 我见过Apple文档,但我没有看到任何有用的信息https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html#//apple_ref/doc/uid/TP40009767-CH2-SW28

1 个答案:

答案 0 :(得分:3)

当我尝试在iOS 4.3上播放mp3文件时,我也收到了同样的错误(OSStatus错误1685348671)。

后来我发现这是mp3声音问题,这使得它与在iOS 4.3中播放不兼容。所以,我使用iTunes Player将现有的mp3声音转换为新版本。现在它工作正常,更好。

步骤:

  1. 在iTunes中打开您当前的mp3声音
  2. 选择它并点击“高级”菜单>> “创建MP3版本”
  3. 它将创建当前音频的副本。为您的应用使用新创建的mp3文件。

    它帮助了我。我希望它也可以帮助别人。一切顺利!