私のアプリでは、曲を録音して保存することができます。アプリを更新すると、AVAudioPlayerを初期化しようとするとエラーが発生します。曲はドキュメントディレクトリに保存されます。その曲を使用してドキュメントディレクトリへのURLを作成すると、上記のエラーが発生します。同様の質問に対する他の回答を読むと、-43はファイルが見つからないというエラーであるため、すべてをドキュメントディレクトリに出力し、アクセスしようとしているファイルがドキュメントディレクトリにあることがはっきりとわかります。私は単に使用しているので、ドキュメントディレクトリへのパスでエラーになることはありません
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
ドキュメントディレクトリを取得します。
オーディオプレーヤーを初期化する方法、アクセスしようとしているエラーと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"
)
これはアプリを更新した後でのみであると述べたことを覚えておいてください。アップデートを送信する前にテストすると、すべてが完全に機能しました。また、新しい曲を録音して保存し、まったく同じ方法で再生しようとすると、問題なく動作します。これは、アップデート前に録音した曲を再生しようとしているときに発生します。
助けてくれる人は?