gpt4 book ai didi

iOS:在不播放视频的情况下获取视频时长和缩略图

转载 作者:IT王子 更新时间:2023-10-29 08:04:42 24 4
gpt4 key购买 nike

我需要获取(本地)视频的持续时间,然后以 UIImage 的形式访问其各个帧。到目前为止,我一直在为此使用 MPMoviePlayerController

首先,我注册了 MPMovieDurationAvailableNotification 事件,然后调用了 prepareToPlay。收到事件后,我记下视频的持续时间,然后通过 requestThumbnailImagesAtTimes 请求帧。

这有效,但是即使我没有以任何方式将它添加到 View 中,视频似乎也开始播放(我可以听到背景中播放的音频)。

有没有办法在不实际播放视频的情况下获取视频的持续时间和帧数?

最佳答案

获取时长:

NSURL *sourceMovieURL = [NSURL fileURLWithPath:somePath];
AVURLAsset *sourceAsset = [AVURLAsset URLAssetWithURL:sourceMovieURL options:nil];
CMTime duration = sourceAsset.duration;

要获取帧抓取:

AVAssetImageGenerator* generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:destinationAsset];

//Get the 1st frame 3 seconds in
int frameTimeStart = 3;
int frameLocation = 1;

//Snatch a frame
CGImageRef frameRef = [generator copyCGImageAtTime:CMTimeMake(frameTimeStart,frameLocation) actualTime:nil error:nil];

关于iOS:在不播放视频的情况下获取视频时长和缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com