사용자가 비디오를 재생하고 백그라운드 모드 (HLS 스트림 사용)로 들어갈 때 사용하는 대역폭을 줄이고 싶습니다. 오디오는 계속 재생되기를 원하지만 AVPlayer가 필요하지 않아도 (사용자가 아무 것도 볼 수없는 경우에도) 비디오 세그먼트를 계속 다운로드하는 것처럼 보입니다.앱이 백그라운드로 들어갈 때 오디오를 유지하고 AVPlayer의 비디오 스트림을 제거하십시오.
이론적으로 매우 낮은 비트 전송률 (예 : 검정색 화면)의 비디오를 가질 수 있으며 앱이 배경 모드로 들어갈 때 player.currentItem.preferredPeakBitRate = 1
으로 설정 될 수 있습니다. 그런 다음 앱이 거대한 숫자를 다운로드하지 못하도록 차단합니다. 사용자가 돌아 오면 오랜 기간 동안 검은 색 화면을 표시합니다. 또한, 사용자가 연결 상태가 좋지 않은 경우 블랙 스크린이 전경 모드로 표시되는 것을 어떻게 방지 할 수 있는지 명확하지 않습니다.
또한 AVURLAsset의 - (AVMediaSelectionGroup *)mediaSelectionGroupForMediaCharacteristic:(NSString *)mediaCharacteristic
을 통해 비디오를 비활성화하려고했습니다. 오디오의 경우이 작업을 수행 할 수 있지만 비디오의 경우 수행하지 않을 수 있습니다. 메서드가 매개 변수 AVMediaCharacteristicVisual
에 대해 nil을 반환하기 때문입니다. 이 기능을 사용하려면 내 HLS 매니페스트에서 변경할 수 있습니까?
같은 딜레마에 직면했습니다. 너 무슨 짓을 한거야? –