여러 비디오를 동시에 재생

멀티 비디오 재생은 여러 AVPlayer 및 AVPlayerLayer를 사용합니다.
인상은 다음과 같다.

다음은 코드입니다.
player.swift
/// プレイヤーを用意
let player1 = AVPlayer(URL: url1) 
let player2 = AVPlayer(URL: url2)
let player3 = AVPlayer(URL: url3)
let player4 = AVPlayer(URL: url4)

/// 各レイヤーにプレイヤーを関連付ける
let playerLayer1 = AVPlayerLayer(player: player1)
let playerLayer2 = AVPlayerLayer(player: player2)
let playerLayer3 = AVPlayerLayer(player: player3)
let playerLayer4 = AVPlayerLayer(player: player4)

/// 各レイヤーの位置・サイズをつけ貼り付け
playerLayer1.frame = CGRectMake(0,0,200,50)
playerLayer2.frame = CGRectMake(200,0,200,50)
playerLayer3.frame = CGRectMake(0,50,200,50)
playerLayer4.frame = CGRectMake(200,50,200,50)
self.view.layer.addSublayer(playerLayer1)
self.view.layer.addSublayer(playerLayer2)
self.view.layer.addSublayer(playerLayer3)
self.view.layer.addSublayer(playerLayer4)
추가 유저 1 층이 필요하지 않습니다.
너는 아래의 이미지에 따라 할 수 있다.

player.swift
/// プレイヤーを用意
let player1 = AVPlayer(URL: url1) 

/// 各レイヤーにプレイヤーを関連付ける
/// 今回は全てプレイヤー1
let playerLayer1 = AVPlayerLayer(player: player1)
let playerLayer2 = AVPlayerLayer(player: player1)
let playerLayer3 = AVPlayerLayer(player: player1)
let playerLayer4 = AVPlayerLayer(player: player1)

/// 各レイヤーの位置・サイズをつけ貼り付け
playerLayer1.frame = CGRectMake(0,0,200,50)
playerLayer2.frame = CGRectMake(200,0,200,50)
playerLayer3.frame = CGRectMake(0,50,200,50)
playerLayer4.frame = CGRectMake(200,50,200,50)
self.view.layer.addSublayer(playerLayer1)
self.view.layer.addSublayer(playerLayer2)
self.view.layer.addSublayer(playerLayer3)
self.view.layer.addSublayer(playerLayer4)
일부 응용 프로그램 개발 중
아래와 같이 화면 아래에서 축소판처럼 애니메이션을 재생합니다
터치 조작 등을 통해 상부의 주요 층과 연결된 유저
전환하는 방법이 있습니다.

터미널에 따라 동시 재생 수가 결정됩니다.
내가 시도한 상황을 보면 아이폰6, 아이패드 프로 등은 16.
또한 AVPlayer 애니메이션과의 연결을 해제하지 않으면 4개를 재생한 후 해당 화면의 컨트롤러를 해제한 후 4개를 재생하고 다음 번에 4개를 재생합니다. 동시 재생 수 상한에 도달하면 애니메이션을 재생할 수 없습니다.
그래서 더 이상 AVPlayer가 필요하지 않을 때.
self.player.replaceCurrentItemWithPlayerItem(nil)
태그 요소의 표시 속성을 수정합니다.

좋은 웹페이지 즐겨찾기