如何从照片库等设备库中选择/浏览音频文件?

时间:2017-12-13 10:54:34

标签: ios objective-c xcode audio media

我正在构建一个应用程序,用户可以从中选择(从库中)或捕获(记录)图像/视频/音频。

我已经实现了视频和图像媒体以及重新编码音频文件,但是当从图书馆访问音频时,它会在下面的线路上崩溃。当我尝试从库中处理图像和视频文件时,它工作正常。

我认为这是因为音频文件没有存储在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时文件的存储位置。

1 个答案:

答案 0 :(得分:1)

音频的媒体选择器与图像和视频不同。你必须使用MPMediaPickerController类。它的功能与UIImagePickerController类相同。

并实施MPMediaPickerControllerDelegate以获取所选文件。