3
A
回答
4
i显示了在表视图音频列表当我再音频tableview中单击歌曲我在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];
}
0
请看看TSLibraryImport它也为你处理AVAssetExportSession代码。
相关问题
- 1. 将音乐文件复制到ios上的ipod库
- 2. 将音乐复制到iPod上
- 3. 访问iPod音乐文件夹
- 4. 将iOS库音乐复制到App Store允许的视频中?
- 5. 将音乐文件下载到iphone
- 6. 在iPod库中保存音频文件
- 7. 从iPhone音乐库中添加音乐文件
- 8. Titanium将录制的音频文件保存到文件夹中,将音频文件上传到Web服务器,
- 9. 从音乐文件夹浏览到资产文件夹android
- 10. 从iPod音乐库播放
- 11. 将FLAC音频文件隐藏到wav音频文件在android
- 12. 如何将应用程序中的音乐复制到iPod?
- 13. BASS音频库支持的音乐文件
- 14. 音乐库文件夹中的uwp javascript列表文件
- 15. 如何将OpenAL的音频与iPod音乐混合?
- 16. 将音频直接复制到iPhone上的音频缓冲区
- 17. 将音频文件从原始文件夹下载到SD卡
- 18. iPhone SDK:将流式传输的音频文件保存到Documents文件夹
- 19. 选择音乐文件夹html
- 20. 将两个.caf音频文件合并为一个iPhone中的音频文件
- 21. 使用ffmpeg将音频流从源文件复制到转码视频文件
- 22. 如何浏览和上传iPhone音乐库中的音乐文件?
- 23. 将VST音频效果/插件应用到音频文件
- 24. 音频插件。将MIDI映射到音频文件
- 25. iphone将文件夹从文件夹复制到文档
- 26. 无法复制音频文件
- 27. Android编程复制音频文件(mp3)?
- 28. 音乐音调类检测音频库
- 29. 控制音频文件声音
- 30. 将音频文件添加到另一个音频文件,最终结果为一个新的音频文件
这个问题与上一个问题有什么不同? http://stackoverflow.com/questions/4743959/how-to-import-music-file-from-iphone-music-library-to-iphone-app – spender 2011-01-20 11:12:16
我曾用两种方式将数据合成一首歌曲在下面提到 – GhostRider 2011-01-20 11:26:28