关于ZAKER 融媒体解决方案 合作 加入

将 ipod 音乐库音频文件复制到 Iphone App 文件夹 .

CocoaChina 11-12

我们可以将 ipod 音乐库文件 ( 歌曲 ) 存储到 iPhone App 文件夹吗?

如果是 , 请提示我该怎么做?

请帮忙

谢谢

最佳答案

当我单击音频表视图时 , 我在表视图上显示音频列表 , 然后我将其保留在 nsdata 中以上传

- ( void ) startVideoStart: ( NSNumber* ) number{ MPMediaItem *song = [ miPodSongsArray objectAtIndex: [ number intValue ] ] ; 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: AVAssetExportPresetPassthrough ] ; NSLog ( @"created exporter. supportedFileTypes: %@", exporter.supportedFileTypes ) ; exporter.outputFileType = @"com.apple.m4a-audio"; NSString *exportFile = [ documentsDirectory stringByAppendingPathComponent: @"item.m4a" ] ; NSError *error1; if ( [ [ NSFileManager defaultManager ] fileExistsAtPath:exportFile ] ) { [ [ NSFileManager defaultManager ] removeItemAtPath:exportFile error:&error1 ] ;} NSURL* exportURL = [ [ NSURL fileURLWithPath:exportFile ] retain ] ; exporter.outputURL = exportURL; // do the export [ exporter exportAsynchronouslyWithCompletionHandler:^{ NSData *data1 = [ NSData dataWithContentsOfFile: [ documentsDirectory stringByAppendingPathComponent: @"item.m4a" ] ] ; //NSLog ( @"%@",data1 ) ; if ( songDict ) { [ songDict release ] ; songDict=nil; } songDict= [ [ NSMutableDictionary alloc ] init ] ; [ songDict setValue:data1 forKey:@"AudioData" ] ; [ songDict setValue:songTitle forKey:@"AudioName" ] ; [ songDict setValue: [ [ mAppDelegate.userInfoArray objectAtIndex:1 ] valueForKey:@"user_id" ] forKey:@"user_id" ] ; //NSLog ( @"%@",infoDict ) ; mAppDelegate.uploadType = @"Audio"; int exportStatus = exporter.status; switch ( exportStatus ) { case AVAssetExportSessionStatusFailed: { // log error to text view NSError *exportError = exporter.error; NSLog ( @"AVAssetExportSessionStatusFailed: %@", exportError ) ; // errorView.text = exportError ? [ exportError description ] : @"Unknown failure"; //errorView.hidden = NO; 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 ] ;}

以上内容由"CocoaChina"上传发布 查看原文
相关标签 ipodiphoneapp

觉得文章不错,微信扫描分享好友

扫码分享