UIWebView to Play Local and downloaded Video

后端 未结 4 2010
一向
一向 2020-12-10 21:51

I want to play downloaded video using UIWebview. I get webkiterrordomain code=204 error. but if i play video from resources folder it run perfect. //from resources folde

4条回答
  •  隐瞒了意图╮
    2020-12-10 22:17

    For playing local video file, you can use MPMoviePlayerController.

    - (void) playVideo:(NSString *) videoName {
    if ([self.fileManager fileExistsAtPath:videoName]) {
        [self stopVideo];
        self.videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:videoName]];
        [self.videoPlayer.view setFrame:CGRectMake(0, 0, 480, 360)];
        CGAffineTransform t1;
        t1 = CGAffineTransformMakeScale(-1.0,1.0);
        self.videoPlayer.view.layer.transform = CATransform3DMakeAffineTransform(t1);
        [self.view addSubview:self.videoPlayer.view];
        [self.videoPlayer setControlStyle:MPMovieControlStyleNone];
        [self.videoPlayer setScalingMode:MPMovieScalingModeAspectFit];
        [[NSNotificationCenter defaultCenter]
         addObserver:self
         selector:@selector(movieFinishedCallback:)
         name:MPMoviePlayerPlaybackDidFinishNotification
         object:self.videoPlayer];
        [self.videoPlayer play];
    }
    

    }

    - (void)stopVideo {
    if (self.videoPlayer) {
        if ([self.videoPlayer playbackState] == MPMoviePlaybackStatePlaying) {
            [self.videoPlayer stop];
        }
        [self.videoPlayer.view removeFromSuperview];
        self.videoPlayer = nil;
    }
    

    }

    - (void) movieFinishedCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter]
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];
    [self.videoPlayer.view removeFromSuperview];
    

    }

提交回复
热议问题