Iphone iOS AVAudioPlayer OSStatus错误-43
在我的应用程序中,可以录制和保存歌曲。更新应用程序时,我在尝试初始化AVAudioPlayer时出错。这首歌保存在documents目录中,我只需用这首歌创建一个指向documents目录的URL,就可以得到上面的错误。当阅读类似问题的其他答案时,它说-43是一个文件未找到错误,因此我输出了documents目录中的所有内容,我可以清楚地看到我试图访问的文件位于documents目录中。正如我简单使用的那样,文档目录的路径中不可能有错误Iphone iOS AVAudioPlayer OSStatus错误-43,iphone,ios,ipad,avaudioplayer,Iphone,Ios,Ipad,Avaudioplayer,在我的应用程序中,可以录制和保存歌曲。更新应用程序时,我在尝试初始化AVAudioPlayer时出错。这首歌保存在documents目录中,我只需用这首歌创建一个指向documents目录的URL,就可以得到上面的错误。当阅读类似问题的其他答案时,它说-43是一个文件未找到错误,因此我输出了documents目录中的所有内容,我可以清楚地看到我试图访问的文件位于documents目录中。正如我简单使用的那样,文档目录的路径中不可能有错误 NSArray *paths = NSSearchPath
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
获取文档目录
如何初始化audioplayer、错误和尝试访问的URL:
[[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
以下是我的文档目录的输出:
2013-01-24 18:51:40.228 app[14104:907] (
"Recording 11413, 10:28 PM - All I Need.m4a",
"k - Spongebob.m4a"
)
请记住,我提到这只是在我更新我的应用程序之后。在发送更新之前进行测试时,一切都很正常。如果我录制一首新歌并保存它,然后尝试使用完全相同的方法播放它,效果就很好。当我试图播放更新前录制的歌曲时,就会发生这种情况
有人帮忙吗?我想出来了。显然,当您更新应用程序时,路径中文档前面的字母和数字(即0B6DDD37-792B-4C1A-98A3-1A96B64B4DB0)会发生变化。我用旧的字母和数字保存旧的路径,并尝试用该路径初始化,这就是错误发生的原因。我只需要使用文档目录的当前路径进行初始化。这解释了为什么我在发送更新之前进行测试时没有发生此错误