2009-09-17 2 views
0

좋아,이 하나가 나를 힘들게 만듭니다. CS4에서 맞춤 동영상 플레이어를 만들었습니다. 기본적으로 저는 Gimp를 사용하여 비디오 플레이어를 그려서 PNG로 저장했습니다. 그 스테이지로 드래그했습니다.플래시 콤보 상자 (Flash ComboBox)가 스트림 AS3의 재생을 중지합니다.

저는 FLVPlayback을 사용하고 싶지 않았기 때문에 Actionscript를 사용하여 스테이지에 비디오를 추가했습니다.

var video:Video = new Video(480,360); 
addChild(video); 

내가 어떻게 연결했는지 자세히 설명해 드리지만 완벽하게 작동합니다. ComboBox를 스테이지로 드래그하려고하면 문제가 발생합니다. 처리기 또는 기타 항목을 추가하기 전에 ComboBox에서 항목을 선택하면 내 비디오 및 NetStream에서 재생이 종료됩니다. 위어드! 왜? 어떻게 그렇게하지 못하게합니까?

+0

NetStream에서 NetStatusEvent 핸들러를 추가하면 ComboBox에서 선택 항목을 변경 한 후에 아무 것도 표시되지 않지만 서버 측에서 재생되는 스트림이 멈출 수 있습니다. –

답변

0

좋아, 나는 이것을 알아 냈으니 지금 꽤 똑똑하다고 느끼고있다. 물론, 나는 처음부터 오류를 일으키지 않았 으면 훨씬 똑똑했습니다. 이것은 가비지 수집의 문제 였고 실제로 ComboBox와 아무 관련이 없습니다. ComboBox를 클릭하면 가비지 수집기를 시작하기에 충분한 개체 가비지가 발생합니다.

가비지 수집 중이기 때문에 이벤트 처리기를 트리거하지 않고 NetStream이 죽어 가고있었습니다. 나는 그 코드에 대한 참조를 갖고 있지 않았다. 내가 video.attachStream(ns)이라고 불렀고 video에 대한 참조를 들고 있었기 때문에 나는 그렇게 생각하지 않았습니다. 그러나 Video 클래스는 분명히 NetStream에 대한 참조를 보유하지 않습니다.