首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS AVAudioPlayer OSStatus错误-43

iOS AVAudioPlayer OSStatus错误-43
EN

Stack Overflow用户
提问于 2013-01-25 08:03:24
回答 1查看 1.1K关注 0票数 0

在我的应用程序中,用户可以录制和保存歌曲。在更新我的应用程序时,我在尝试初始化AVAudioPlayer时出错。这首歌被保存在documents目录中,我只是用这首歌创建了一个指向documents目录的URL,并得到上面的错误。当阅读类似问题的其他答案时,它显示-43是一个未找到的文件错误,因此我输出了documents目录中的所有内容,并且我可以清楚地看到我试图访问的文件位于documents目录中。它不能是指向文档目录的路径中的错误,因为我只是使用

代码语言:javascript
复制
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

来获取文档目录。

我如何初始化音频播放器,错误和我试图访问的URL:

代码语言:javascript
复制
[[AVAudioPlayer alloc]initWithContentsOfURL:urlOfSong error:&error]; 
if (error)
        {
            NSLog(@"Error in audioPlayer: %@", 
                  [error localizedDescription]);
            NSLog(@"error with this: %@",urlOfSong);
        }


2013-01-24 18:51:40.223 app[14104:907] Error in audioPlayer: The operation couldn’t be completed. (OSStatus error -43.)
2013-01-24 18:51:40.224 app[14104:907] error with this: file://localhost/var/mobile/Applications/C8F1FB54-CF7E-46EC-9B87-8BE3CE9B0A3D/Documents/k%20-%20Spongebob.m4a

可以看出,我正在尝试播放的文件名为k- Spongebob.m4a

下面是my documents目录的输出:

代码语言:javascript
复制
2013-01-24 18:51:40.228 app[14104:907] (
    "Recording 11413, 10:28 PM - All I Need.m4a",
    "k - Spongebob.m4a" 
)

请记住,我提到这只是在我更新我的应用程序之后。在发送更新之前进行测试时,一切都运行得很好。如果我录制一首新歌并保存它,然后尝试使用完全相同的方法播放它,它就可以正常工作。当我尝试播放一首我在更新之前录制的歌曲时,就会发生这种情况。

有帮手吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-25 08:56:28

我想通了。显然,当您更新应用程序时,路径中文档前面的字母和数字(即0B6DDD37-792B-4C1A-98A3-1A96B64B4DB0)会发生变化。我使用旧的字母和数字保存旧路径,并尝试使用该路径进行初始化,这就是错误发生的原因。我只需要用documents目录的当前路径进行初始化。这就解释了为什么我在发送更新之前进行测试时没有发生这个错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14513122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档