avplayer 다운로드

이 샘플에서는 HLS 스트림을 다운로드할 수 있도록 Av집계할 Gate에셋 다운로드 태스크를 만들고 초기화 합니다. 각 저작물의 미디어 선택 그룹에 대 한 기본 미디어 선택만 다운로드 됩니다 (예의 기본 속성에 따라 HLS 재생 목록 EXT-X-미디어 태그에 표시 됨). 사용자가 해당 스트림의 테이블 뷰 셀에 있는 액세서리 단추를 눌러 다운로드를 시작 하면 AssetPersistenceManager의 인스턴스가 다음 함수를 호출 하 여 Av집계할 Gate에셋 다운로드 작업 개체를 만들어 여러 HLS 스트림의 AVURLAsset에 대 한 AVMediaSelection: 위의 코드에서, 우리는 이전 뿐만 아니라 타임 아웃 상태의 새로운 값을 추적 하 고 있습니다. 재생이 끝난 후 비디오를 재생 하려면, 우리는 통지를 관찰 할 수 있습니다 Avplayeritemdid. 비디오 플레이어 재생 비디오 시계 비디오 플레이어 재생 재생 시계 나는 또한 cocoapod를 만들었습니다, 그래서 당신은 직접 프로젝트에 사용자 정의 컨트롤과 함께 플레이어를 통합 할 수 있습니다. 여기에서 찾을 수 있습니다. 모든 장치에서 작동 하는 신뢰할 수 있고 정확 하며 저렴 한 HTML5 속도 테스트를 찾고 있는 ISP 또는 네트워크 관리자 입니까? 그게 전부에요. 이것은 우리가 우리의 응용 프로그램 내부 작업 비디오 플레이어를 얻기 위해 필요한 모든 것입니다. 행 9에서 11까지 — UIProgressView는 UI에서 재생 진행률을 표시 하는 데 사용 됩니다. 우리는 위의 옵션의 다른 조합을 사용 하 고 원하는 오디오 동작을 얻을 수 있습니다. 제공 된 링크에서 모든 3의 설명서를 참조 하십시오.

비디오 중력-비디오가 플레이어 레이어 경계 내에 표시 되는 방식을 결정 합니다. 그 값은 다음과 같습니다. AVPlayer 외에도 apple은 미디어 재생을 위한 전체 화면 컨트롤러에 대 한 지원도 제공 했습니다. 재생 중에 콘솔에서 다양 한 성능 표시기를 볼 수 있습니다. 위의 코드에서 명백 하 게, 재생이 끝날 때마다 재생 메서드는 호출 됩니다. 위의 코드에서, 우리는 kCMTimeZero, 즉 시작 하는 재생 시간을 추구 하 고 있습니다. 동영상이 시작 위치에 도착 하면 플레이어에서 play () 라고 부릅니다. 그것을 다시 재생 하는 것은 우리의 요구 사항에 따라입니다.

한 번 재생 한 후 일시 중지 된 상태로 유지 하려는 경우에만이를 피할 수 있습니다. 위의 코드에서는 사용 하는 출퇴근 기록의 newValue 로더를 표시/숨기기 (예: Uiactivity표시기 보기). 비디오가 버퍼링 상태에 있을 때 비디오가 재생/일시 중지 되 고 표시 되는 경우 로더가 숨겨집니다. 예를 들어 다음은 AVPlayerItemAccessLog에서 얻은 스트림을 재생 하는 데 걸린 총 시간을 계산 하는 코드입니다. AVPlayer의 주기적인 시간 관찰자와 비디오 재생을 추적할 수 있습니다. 하지만, 아무것도 내 친구 불가능 하다. 그들은 그것을 제공 하지 않은 경우, 우리는 우리 자신의 컨트롤을 만들 것입니다. 그리고 그, 너무, 우리 자신의 사용자 정의 요구 사항에 따라. AssetPersistenceManager는 HLS 스트림 다운로드를 관리 하는 방법을 보여 주는이 샘플의 주 클래스입니다.

여기에는 다운로드를 시작 및 취소 하 고, 사용자 장치에서 기존 자산을 삭제 하 고, 다운로드를 모니터링 하는 방법이 포함 됩니다. 에셋 Playbackmanager는 KVO를 사용 하 여 AVPlayerItem 오브젝트의 상태를 모니터링 하 고 상태가 재생 준비가 되 면 재생을 시작 합니다. 라이브 HLS 스트림은 진행 중인 동안에는 저장할 수 없습니다. 라이브 HLS 스트림을 저장 하려고 하면 시스템이 예외를 throw 합니다. VOD (주문형 비디오) 스트림만 오프 라인 재생을 지원 합니다. avplayer는 명령 콘솔에서 실행 되며 일반적인 비디오 형식에 대 한 지원을 제공 합니다.