【问题标题】:How to save the video using currentPlaybackRate in ios?如何在 ios 中使用 currentPlaybackRate 保存视频?
【发布时间】:2013-07-02 15:17:38
【问题描述】:

参考链接:

http://www.raywenderlich.com/13418/how-to-play-record-edit-videos-in-ios

我正在选择视频帧并使用下面的 delegate(didFinishPickingMediaWithInfo) 方法存储视频,

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    // 1 - Get media type
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    // 2 - Dismiss image picker
    [self dismissModalViewControllerAnimated:NO];
    // Handle a movie capture
    if (CFStringCompare ((__bridge_retained CFStringRef)mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) {
        // 3 - Play the video
        MPMoviePlayerViewController *theMovie = [[MPMoviePlayerViewController alloc] 
            initWithContentURL:[info objectForKey:UIImagePickerControllerMediaURL]];
        [self presentMoviePlayerViewControllerAnimated:theMovie];
        // 4 - Register for the playback finished notification
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:)
            name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];

 if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
            UISaveVideoAtPathToSavedPhotosAlbum (moviePath,self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
        }
    }
}

我想知道视频是如何修剪并存储在移动本地的。在下面的文件存储路径中。我在 NSDictionary 媒体网址中获取这些值。

Path ::: {
    UIImagePickerControllerMediaType = "public.movie";
    UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/3175A4BD-F24F-4745-B7AE-FBA4B9EBE90D/tmp//trim.zuyfI0.MOV";
    UIImagePickerControllerReferenceURL = "assets-library://asset/asset.MOV?id=740204CB-EE25-4A83-992A-F46115FC5B9F&ext=MOV";
}

在存储视频之前,我想更改 currentPlaybackRate 吗?任何人都可以提供一些想法来实现吗?

【问题讨论】:

    标签: iphone objective-c ios6 mpmovieplayercontroller avfoundation


    【解决方案1】:

    如果您只想在播放期间更改时间刻度,可以使用theMovie.currentPlaybackRate = /* your value */;。如果您想实际保存具有不同时间尺度的视频,那么您必须深入了解AV Foundation

    【讨论】:

    • 正如你所说,我尝试了代码, MPMoviePlayerViewController* theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL: [info objectForKey:UIImagePickerControllerMediaURL]]; theMovie.movi​​ePlayer.currentPlaybackRate = 4.0;但它不起作用。您能否建议任何参考链接以在 AVFoundation 中实现相同的功能?
    • 您能否提供更多关于如何使用 AVFoundation 保存不同时间尺度的视频的信息?这对我真的很有帮助。 .
    • 您想更快地播放视频还是保存加速的视频?
    • 我必须执行以下操作 1. 从视频库加载任何视频 2. 放慢视频 3. 播放放慢的视频 4. 保存放慢的视频。我在这里有类似的问题海报:stackoverflow.com/questions/17450864/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多