我参加了在线课程并且他们使用MPMoviePlayerController使用过时的代码,我需要具体说明如何更改它以使其正常工作。我正在制作的应用程序有一个表视图控制器,其中包含一个带有消息的收件箱。可以发送短视频文件,当您点击有视频消息的行时,我需要播放视频文件。免费试用即将到期,所以我需要帮助。
这是我的头文件中需要更改的内容:
@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
这是我的实现文件中的viewDidLoad方法需要更改的内容:
self.moviePlayer = [[MPMoviePlayerController alloc] init];
这也是实现文件中需要更改的内容。我通过Parse.com通过后端获取视频,这就是PFFile的内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
PFFile *videoFile = [self.selectedMessage objectForKey:@"file"];
NSURL *fileUrl = [NSURL URLWithString:videoFile.url];
self.moviePlayer.contentURL = fileUrl;
[self.moviePlayer prepareToPlay];
[self.view addSubview:self.moviePlayer.view];
[self.moviePlayer setFullscreen:YES animated:YES];
}
答案 0 :(得分:0)
在头文件中:
@property(nonatomic,strong)AVPlayer *avPlayer;
在实现文件中的viewDidLoad方法
self.avPlayer = [[AVPlayer alloc] init];
在实现UITableView方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
PFFile *videoFile = [self.selectedMessage objectForKey:@"file"];
NSURL *fileURL = [NSURL fileURLWithPath:videoFile.url];
self.avPlayer = [AVPlayer playerWithURL:fileURL];
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
layer.frame = CGRectMake(0, 0, width, height);
[self.view.layer addSublayer: layer];
[self.avPlayer play];
}
希望它会对你有所帮助:)。