Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>i show audio list on table view when i click on audio tableview then that song i hold in nsdata for upload</p> <pre><code>-(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:&amp;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]; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload