2010-03-24 3 views
0

재생중인 비디오의 버퍼링 된 양을 표시하려고합니다. netstream.bufferLength를 사용하여이 작업을 수행하고 있습니다. 그것은 거의 일정하게 버퍼링되는 동일한 양이라는 사실에서 면제됩니다. 이건 옳지 않아?AS3 : NetStream의 버퍼 길이 표시

일시 중지 버튼을 누를 수있는 youtube처럼 되길 원하고 버퍼가 계속 올라갑니다. 일시 중지를 클릭하면 그대로 유지됩니다.

버퍼 길이를 표시하는 방법을 아는 사람이 있습니까?

답변

2

버퍼의 내용은 현재 재생 코드의 바로 앞부분에로드되는 미리로드 된 부분이므로 사용자가있는 시간 코드와 비교할 수 있으며로드 된 파일을 즉시 재생하고 캐싱 할 수 있습니다. 전체 파일을 임시 메모리에 저장하므로 설명대로로드 할 수 있습니다.

당신은 내가 당신이 원하는 것을 확신 netstream.bytesLoaded/netstream.bytesTotal;

+0

나는 그것을 시도해 봤지만 끊임없이 100 %가되었다. 그게 옳은가? – Tinelise

+0

아! 신경 쓰지 마! 그것은 영화가 이미로드되어 있지 않을 때 완벽하게 작동합니다. 어리석은 나를 :) 고마워요 :) – Tinelise

+0

이것은 올바른 대답이 아닌 것 같습니다. 스트리밍 콘텐츠의 경우 - bytesLoaded 및 bytesTotal은 항상 0입니다. 나는 그것을 수행하는 방법을 찾고 있습니다. @shortstick의 버퍼링 정의가 정확하지만 버퍼링 상태를 표시하는 데 해당 정보를 사용할 수 있는지 실제로 판단해야합니다. NetStream.Buffer.Empty 및 NetStream.Buffer.Full을 사용하여 버퍼링시기를 알 수 있습니다. –

1

를 사용하여 전체로드 된 데이터 (백분율)를 찾을 수는 다음과 NetStream.time +은 NetStream.bufferLength. @shortstick에 언급 된 것처럼 - 버퍼는 현재 재생 위치와 관련이 있습니다. "이미 버퍼 된 및 사용 된"시간으로 간주 할 수 있습니다. 따라서 "버퍼링 된 컨텐츠"의 총량은

입니다.
NetStream.time + NetStream.bufferLength 

나는 좋은 결과를주었습니다.