UiImageView で見栄えのする (品質面で) 480p MOV ファイルがあります。ただし、再生するとフレームレートが低下するようです。コントロールなしでこの映画を再生するより良い方法はありますか? UI の上でアニメーションのように再生する必要があります。
前もって感謝します!
これが私のコードです:
-(void)imagesExtractionThread {
NSDate * now = [[NSDate alloc] init];
startTime = [now timeIntervalSinceReferenceDate];
do{
[self performSelectorOnMainThread:@selector(setImageToAvatar) withObject:nil waitUntilDone:YES];
usleep(9000);
}while(!closing);}
-(void)setImageToAvatar{
NSDate * now = [[NSDate alloc] init];
NSTimeInterval curTime = [now timeIntervalSinceReferenceDate];
currentTime = curTime - startTime;
if(currentTime>player.playableDuration){
NSLog(@"Current time %lf",currentTime);
currentTime = 0.0;
startTime = curTime;
if(player.playableDuration >0){
closing = YES;
avatar.hidden = YES;
}
}
UIImage *singleFrameImage = [player thumbnailImageAtTime:currentTime
timeOption:1];
//singleFrameImage = [self changeGreenColorWithTransparent:singleFrameImage];
//
/*sourcePicture = [[GPUImagePicture alloc] initWithImage:singleFrameImage smoothlyScaleOutput:YES];
[sourcePicture addTarget:filter];
[sourcePicture processImage];
singleFrameImage = [filter imageFromCurrentlyProcessedOutput];*/
avatar.image = singleFrameImage;}
次のコードで再生プロセスを開始します。
player = [[MPMoviePlayerController alloc] initWithContentURL: url];
player.shouldAutoplay = NO;
[NSThread detachNewThreadSelector:@selector(imagesExtractionThread) toTarget:self withObject:nil];