2

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];
4

1 に答える 1

0

AVFoundation フレームワークと AVPlayer クラスを使用して、ビデオ ファイルを再生します。外観やコントロールなどを自由にカスタマイズできます。不要な場合は、コントロールを非表示にすることができます。

于 2012-12-19T10:32:03.430 に答える