我正在构建一个应用程序,用户可以从中选择(从库中)或捕获(记录)图像/视频/音频。
我已经实现了视频和图像媒体以及重新编码音频文件,但是当从图书馆访问音频时,它会在下面的线路上崩溃。当我尝试从库中处理图像和视频文件时,它工作正常。
我认为这是因为音频文件没有存储在photoLibrary中,如果是这样,任何人都可以告诉我如何只能从设备中识别/打开音频文件,以便用户可以选择。
//下面是我用来选择媒体(图像/视频/音频)的代码
- (void)selectingMediaFromLibraryOfType:(MEDIAUPLOADTYPE)mediaType {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
switch (mediaType) {
case mediaUploadTpeAudio:
picker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMP3, nil]; //crashing on this line
break;
case mediaUploadTpeImage:
break;
case mediaUploadTpeVideo:
picker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
break;
default:
break;
}
[self presentViewController:picker animated:YES completion:NULL];
}
我为图像和视频做了同样的工作。
此外,我想知道将音频文件从ios传输/下载到ios时文件的存储位置。
答案 0 :(得分:1)
音频的媒体选择器与图像和视频不同。你必须使用MPMediaPickerController类。它的功能与UIImagePickerController类相同。
并实施MPMediaPickerControllerDelegate以获取所选文件。