保存ipod音乐到沙盒中

-(void)startVideoStart:(int)number withSongArray:(NSArray *)miPodSongsArray

{

    

    MPMediaItem *song = [miPodSongsArray objectAtIndex:number];

 //   id songTitle = [song valueForProperty: MPMediaItemPropertyTitle];

    

    NSURL *url = [song valueForProperty:MPMediaItemPropertyAssetURL];

    [NSThread detachNewThreadSelector:@selector(loadAudioInBackground:) toTarget:self withObject:url];

    

  //  [self performSelector:@selector(UploadSong:) withObject:songDict afterDelay:10];

}


-(void)loadAudioInBackground:(NSURL*)url

{

    

    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];

    NSLog(@"%@",url);

    

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

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

    

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSLog (@"compatible presets for songAsset: %@",[AVAssetExportSession exportPresetsCompatibleWithAsset:songAsset]);

    AVAssetExportSession *exporter = [[AVAssetExportSession alloc]

                                      initWithAsset: songAsset

                                      presetName: AVAssetExportPresetAppleM4A];

    

    NSLog (@"created exporter. supportedFileTypes: %@", exporter.supportedFileTypes);

    exporter.outputFileType = AVFileTypeAppleM4A;

    

    NSString *exportFile = [documentsDirectory stringByAppendingPathComponent: @"item.m4a"];

    

    

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

    exporter.outputURL = exportURL;


    AVAssetWriter *aw = [[AVAssetWriter alloc] initWithURL:[NSURL fileURLWithPath:exportFile] fileType:AVFileTypeCoreAudioFormat error:nil];

    

    NSError *error1;

    

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

        

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

        

    }

    

        

    // do the export

    

    [exporter exportAsynchronouslyWithCompletionHandler:^{

        

    NSData *data1 = [NSData dataWithContentsOfFile: [documentsDirectory stringByAppendingPathComponent: @"item.m4a"]];

        

    

        int exportStatus = exporter.status;

        switch (exportStatus) {

                

            case AVAssetExportSessionStatusFailed: {

                // log error to text view

                

                NSError *exportError = exporter.error;

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

                break;

                

            }

            case AVAssetExportSessionStatusCompleted: {

                NSLog (@"AVAssetExportSessionStatusCompleted");

                break;

                

            }

            case AVAssetExportSessionStatusUnknown: {

                NSLog (@"AVAssetExportSessionStatusUnknown");

                

                break; }

            case AVAssetExportSessionStatusExporting: {

                NSLog (@"AVAssetExportSessionStatusExporting");

                break;

            }

            case AVAssetExportSessionStatusCancelled: {

                NSLog (@"AVAssetExportSessionStatusCancelled");

                

                break;

            }

                

            case AVAssetExportSessionStatusWaiting: {

                

                NSLog (@"AVAssetExportSessionStatusWaiting");

                break;

            }

            default:{

                

                NSLog (@"didn't get export status");

                break; }

        }

        

    }];

    [pool release];

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值