簡體   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