在我的应用程序中,我录制了一部电影,将其保存到PhotosAlbum,然后请求使用代码创建缩略图
self.player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL_];
NSArray *times = @[@(1.1)];
[self.player requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionNearestKeyFrame];
这很好用,但在创建缩略图时,MPMoviePlayerController
播放电影的声音,虽然电影不可见,这很烦人。
如何关闭此特定MPMoviePlayerController
的声音? MPMoviePlayerController
类显然没有控制它的属性。
答案 0 :(得分:0)
根据How to mute/unmute audio when playing video using MPMoviePlayerController?中的答案,无法关闭MPMoviePlayerController
的声音。
但是我在Creating Thumbnail for Video in iOS中找到了一种更简单的创建缩略图的方法,它不会播放声音并且是同步的,因此不需要处理异步回调。
为方便起见,我在这里复制:
AVFoundation
框架添加到您的应用中。 #import <AVFoundation/AVFoundation.h>
添加以下代码:
UIImage *theImage = nil;
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:contentURL options:nil];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
CGImageRef imgRef = [generator copyCGImageAtTime:time actualTime:NULL error:&err];
theImage = [[UIImage alloc] initWithCGImage:imgRef];
CGImageRelease(imgRef);
答案 1 :(得分:0)
在创建播放器后添加此行:
self.player.shouldAutoplay = NO;