Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取保存在摄像头滚动iOS上的视频音频部分_Ios_Iphone_Objective C_Cocoa Touch_Audio - Fatal编程技术网

获取保存在摄像头滚动iOS上的视频音频部分

获取保存在摄像头滚动iOS上的视频音频部分,ios,iphone,objective-c,cocoa-touch,audio,Ios,Iphone,Objective C,Cocoa Touch,Audio,我想把一段视频的音频文件保存到iPhone的照相/摄像机上。我有播放视频的代码,但我不知道如何获得实际的视频文件并从那里转换成mp3 这就是我目前所拥有的 - (IBAction)PlayVideo:(id)sender { [self startMediaBrowserFromViewController: self usingDelegate: self]; } - (BOOL) startMediaBrowserFromViewController: (UIViewController

我想把一段视频的音频文件保存到iPhone的照相/摄像机上。我有播放视频的代码,但我不知道如何获得实际的视频文件并从那里转换成mp3

这就是我目前所拥有的

 - (IBAction)PlayVideo:(id)sender {
[self startMediaBrowserFromViewController: self usingDelegate: self];
}

- (BOOL) startMediaBrowserFromViewController: (UIViewController*) controller
                           usingDelegate: (id <UIImagePickerControllerDelegate,
                                           UINavigationControllerDelegate>) delegate{

if (([UIImagePickerController isSourceTypeAvailable:
      UIImagePickerControllerSourceTypeSavedPhotosAlbum] == NO)
    || (delegate == nil)
    || (controller == nil))
    return NO;

UIImagePickerController *mediaUI = [[UIImagePickerController alloc] init];
mediaUI.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

mediaUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];

mediaUI.allowsEditing = YES;

mediaUI.delegate = delegate;

[controller presentModalViewController: mediaUI animated: YES];
return YES;

}

 - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker {

[self dismissModalViewControllerAnimated: YES];
}

 - (void) imagePickerController: (UIImagePickerController *) picker
 didFinishPickingMediaWithInfo: (NSDictionary *) info {

NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];

[self dismissModalViewControllerAnimated:NO];

if (CFStringCompare ((__bridge_retained CFStringRef)mediaType, kUTTypeMovie, 0)
    == kCFCompareEqualTo) {

    NSString *moviePath = [[info objectForKey:
                            UIImagePickerControllerMediaURL] path];
    MPMoviePlayerViewController* theMovie =
    [[MPMoviePlayerViewController alloc] initWithContentURL: [info objectForKey:
                                                              UIImagePickerControllerMediaURL]];
    [self presentMoviePlayerViewControllerAnimated:theMovie];

    [[NSNotificationCenter defaultCenter]
     addObserver: self
     selector: @selector(myMovieFinishedCallback:)
     name: MPMoviePlayerPlaybackDidFinishNotification
     object: theMovie];


}
}

-(void) myMovieFinishedCallback: (NSNotification*) aNotification
{
[self dismissMoviePlayerViewControllerAnimated];

MPMoviePlayerController* theMovie = [aNotification object];

[[NSNotificationCenter defaultCenter]
 removeObserver: self
 name: MPMoviePlayerPlaybackDidFinishNotification
 object: theMovie];
 }
-(iAction)播放视频:(id)发送方{
[自启动MediaBrowserFromViewController:self-usingDelegate:self];
}
-(BOOL)startMediaBrowserFromViewController:(UIViewController*)控制器
usingDelegate:(id)delegate{
如果(([UIImagePickerController]资源类型可用:
UIImagePickerControllerSourceTypeSavedPhotosAlbum]==否)
||(委托==零)
||(控制器==零)
返回否;
UIImagePickerController*mediaUI=[[UIImagePickerController alloc]init];
mediaUI.sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;
mediaUI.mediaTypes=[[NSArray alloc]initWithObjects:(NSString*)KuttypeMoine,nil];
mediaUI.allowsEditing=是;
mediaUI.delegate=委托;
[控制器显示ModalViewController:mediaUI动画:是];
返回YES;
}
-(无效)ImagePickerController IDCancel:(UIImagePickerController*)选择器{
[自我解散Modalviewcontrolleranimated:是];
}
-(无效)imagePickerController:(UIImagePickerController*)选择器
didFinishPickingMediaWithInfo:(NSDictionary*)信息{
NSString*mediaType=[info objectForKey:UIImagePickerControllerMediaType];
[自我解散Modalviewcontrolleranimated:否];
if(CFStringCompare((uu桥u保留的CFStringRef)媒体类型,kUTTypeMovie,0)
==KCFComparequalto){
NSString*moviePath=[[info objectForKey:
UIImagePickerControllerMediaURL]路径];
MPMoviePlayerViewController*theMovie=
[[MPMoviePlayerViewController alloc]initWithContentURL:[info objectForKey:
UIImagePickerControllerMediaURL]];
[自我呈现的电影播放服务控制器:theMovie];
[[NSNotificationCenter defaultCenter]
addObserver:self
选择器:@selector(myMovieFinishedCallback:)
名称:MPMoviePlayerPlaybackDidFinishNotification
对象:theMovie];
}
}
-(作废)myMovieFinishedCallback:(NSNotification*)通知
{
[self DismissionMoviePlayerServiceController];
MPMoviePlayerController*theMovie=[aNotification object];
[[NSNotificationCenter defaultCenter]
移除观察者:自我
名称:MPMoviePlayerPlaybackDidFinishNotification
对象:theMovie];
}