16

iPod-Library からオーディオ ファイルをエクスポートしようとしました。私の目的は、このiPod-Libraryファイルを使用してアプリのドキュメントフォルダーに新しいファイルを作成することです。一部のアイテムのみのファイルを作成できません。以下は私のコードスニペットです。

AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL: url options:nil];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

AVAssetExportSession *exporter = [[AVAssetExportSession alloc]
                                  initWithAsset: songAsset
                                  presetName: AVAssetExportPresetAppleM4A];

exporter.outputFileType = @"com.apple.m4a-audio";

NSString *songName  =   [filename stringByAppendingString:@".m4a"];

NSString *musicfilepath  = [documentsDirectory stringByAppendingPathComponent:@"musics/"];

[[NSFileManager defaultManager] createDirectoryAtPath:musicfilepath withIntermediateDirectories:YES attributes:nil error:nil];

NSString *exportFile = [musicfilepath stringByAppendingPathComponent:songName];



NSError *error1;

if([[NSFileManager defaultManager] fileExistsAtPath:exportFile]) 
{

    [[NSFileManager defaultManager] removeItemAtPath:exportFile error:&error1];

}

NSURL* exportURL = [[NSURL fileURLWithPath:exportFile] retain];

exporter.outputURL = exportURL; 

エラーハンドラーブロックで試したときに、以下に示すようにエラーが発生しています:

    [exporter exportAsynchronouslyWithCompletionHandler:^{

    int exportStatus = exporter.status;

    switch (exportStatus) {

        case AVAssetExportSessionStatusFailed: {

            NSError *exportError = exporter.error;

            NSLog (@"AVAssetExportSessionStatusFailed: %@", exportError);

            break;
        }
  }
 }];

AVAssetExportSessionStatusFailed: エラー Domain=AVFoundationErrorDomain Code=-11800 「操作を完了できませんでした」 UserInfo=0x214f20 {NSLocalizedFailureReason=不明なエラーが発生しました (-12124)、NSUnderlyingError=0x218270 「操作を完了できませんでした。(OSStatus エラー -12124) .)", NSLocalizedDescription=操作を完了できませんでした}

4

4 に答える 4