我正在构建一个应用程序,用户可以选择(从库)或捕获(记录)图像/视频/音频。
我已经实现了视频和图像媒体和重新编码音频文件,但从库中访问音频时,其崩溃在下面的一行。它的工作正常,当我试图访问图像和视频文件从图书馆。
我认为这是因为音频文件没有存储在photoLibrary中,如果是这样,任何人都可以请告诉我如何才能访问/打开设备中的音频文件,以便用户可以选择。
//下面是我用来选择媒体(image/video/audio)的代码
- (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时文件存储在哪里。
2条答案
按热度按时间chhkpiq41#
音频的媒体选取器不同于图像和视频。你必须使用MPMediaPickerController类。它的功能与UIImagePickerController类相同。
并执行MPMediaPickerControllerDelegate以获取所选文件。
jdgnovmf2#
您可以从
UIDocumentPickerViewController
中获取音频文件。参考以下代码,