繁体   English   中英

使用AVPlayer在IOS中无法播放具有透明背景的视频

[英]video with transparent background not playing in IOS using AVPlayer

我有一个带有透明背景的“ .mov”视频,可以在我的视图上添加效果,但是当我尝试播放该视频时,该视频会加载n次播放,但是出现黑屏,这是我的代码:

@property (nonatomic) AVPlayer *avPlayer;
@property (nonatomic) AVPlayerViewController* avPlayerView;

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"Spit" ofType:@"mov"];
NSURL *fileURL = [NSURL fileURLWithPath:path];

AVAsset *asset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];

_avPlayer = [AVPlayer playerWithPlayerItem:anItem];
[AVPlayer addObserver:self forKeyPath:@"status" options:0 context:nil];
_avPlayerView = [[AVPlayerViewController alloc] init];
_avPlayerView.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
_avPlayerView.player = _avPlayer;

[_avPlayerView view].backgroundColor = [UIColor clearColor];
[_avPlayerView view].alpha = 0.5;//or any value you think is right

    [self.view addSubview:_avPlayerView.view]; 
}

如果有人有什么主意,将不胜感激,在此先感谢您的帮助。

尝试将“ avPlayerView”添加为子视图控制器:

[self addChildViewController:_avPlayerView];
[self.view addSubview:_avPlayerView.view];
[_avPlayerView didMoveToParentViewController:self];

如果需要全屏显示,最好将AVPlayerViewController添加为显示的视图控制器。 只需添加即可,而不是将其添加为子视图:

[self presentViewController:_ avPlayerView animated:NO completion:nil];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM