1

次のコードを使用して、デバイスに保存されているビデオを再生しようとしています。問題は、画面に何も表示されず、白い画面だけが表示されることです。

この場合の値filePathfile:///var/mobile/Containers/Data/Application/0E87EF09-B87C-443F-9BFB-E9A68AC4A162/Documents/TMRecordedVideos/2015-07-25T18-57-19Z.mov

NSString *filePath = [self.video fileURL];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath isDirectory:NO];

AVAsset *videoAsset = [AVAsset assetWithURL:fileUrl];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:videoAsset];

self.videoPlayer = [AVPlayer playerWithPlayerItem:playerItem];

self.videoPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:self.videoPlayer];
[self.videoPlayerLayer setFrame:self.view.frame];

[self.view.layer addSublayer:self.videoPlayerLayer];
[self.videoPlayer play];
4

1 に答える 1

0

動画の再生にはAVPlayerLayerを使用しています。以下のコードを使用しましたが、うまくいきました。URL (私の場合はoutputFileURL ) は、filePath に似ています。

AVPlayer *avPlayerq = [AVPlayer playerWithURL:outputFileURL];
avPlayerq.actionAtItemEnd = AVPlayerActionAtItemEndNone;
AVPlayerLayer *videoLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayerq];
videoLayer.frame= self.view.bounds;
videoLayer.videoGravity=AVLayerVideoGravityResizeAspectFill;
[self.view.layer addSublayer:videoLayer];
[avPlayerq play];

これが問題の解決に役立つことを願っています。

于 2016-11-04T06:46:34.247 に答える