2012-04-18 2 views
0

나는 AVPlayer class documentation을 읽고 있었고 나의 질문에 대한 대답을 찾을 수 없었다.AVPlayer는 일시 중지 후 URL에서 버퍼링을 얼마나 오래합니까?

iPhone 앱에서 인터넷에서 스트리밍 오디오를 재생하고 있는데 [myAVPlayer pause]; 호출 후 myAVPlayer이 오랫동안 백그라운드에서 오디오 파일을 계속 다운로드 할 수 있는지 알고 싶습니다. 사용자가 [myAVPlayer pause];를 호출의 "일시 중지" 버튼을 밀어 다음 응용 프로그램을 떠나면

, myAVPlayer 많은 양의 데이터를 다운로드 유지할 것인가?

사용자가 3G 네트워크를 사용 중일 때 걱정됩니다.

답변

2

나는 같은 질문에 직면 해 있으며 약간의 실험을했다. 내 관측은 비디오에만 유효하지만 오디오에도 유효하다면 AVPlayer는 일시 정지를 누를 때 30 초 정도의 콘텐츠를 버퍼링하려고 시도합니다. 웹 서버에 액세스 할 수있는 경우 tcpdump/wireshark를 실행하고 일시 중지 키를 누른 후 서버가 데이터를 계속 전송하는지 확인할 수 있습니다.

+0

좋아요! 나는 그것에 Wireshark를 달릴 것이다! – Winston

0

AVPlayer가 버퍼링하는 기간을 관리 할 수 ​​있습니다. avplayer currentItem 중 preferredForwardBufferDuration을 (를) 관리해야합니다. 당신은 당신이 0으로 설정하면 애플의 문서에서 자동으로

self.avPlayer.currentItem.preferredForwardBufferDuration = 1; 

설정되기 때문에 1로 버퍼링 설정 값을 중지하려면 :을이 속성은 초 단위로 버퍼 앞으로 선호 지속 시간을 정의합니다. 0으로 설정하면 플레이어는 대부분의 사용 사례에 대해 적절한 수준의 버퍼링을 선택합니다. 이 속성을 낮은 값으로 설정하면 재생이 지연되고 다시 버퍼 될 확률이 높아지며 높은 값으로 설정하면 시스템 리소스에 대한 수요가 증가합니다.

관련 문제