2011-03-09 4 views
0

(나는 액션 스크립트에 새로운 오전이 간단한 질문 인 경우 미안 해요.)Netstream 기반 액션 스크립트 비디오 플레이어를 부모 크기와 일치하도록 자동으로 크기를 조정하는 방법은 무엇입니까?

나는 ActionScript의 미디어 플레이어를하고있는 중이 야 내가 다음 클래스 계층 구조가 있습니다

  • 메인 클래스, 확장 스프라이트, 그리고, 스프라이트가 확장
    • VideoPlayer 클래스를 포함하는 비디오 객체를 포함하고
,369 NetStream을를 사용하여 비디오를로드

비디오 플레이어는 크기가 다른 컨테이너가있는 다른 응용 프로그램에 포함됩니다. html/swfobject에 정의 된대로 부모 컨테이너의 크기에 따라 크기를 조정할 수있는 방법이 있습니까?

Main 클래스의 "scaleMode"속성을 사용하여 연주했는데 플래시 개체를 컨테이너에 따라 크기를 조정할 수는 있지만 비디오의 크기는 항상 동일합니다.

또한 비디오 클립의 메타 데이터를 사용하여 수동 및 자동으로 비디오 개체의 "너비"및 "높이"속성을 변경했는데 비디오 크기가 잘못되었습니다. 320x240의 swfobject가 있고 swfobject 크기와 일치하도록 비디오 크기를 변경하면 320x240보다 훨씬 작아졌습니다.

도움을 미리 감사드립니다.

+0

당신이 ResizeEvent.RESIZE 처리기에서 비디오 객체의 높이와 폭을 설정 봤어 이런 식으로 뭔가를 시도? width 및 height 속성은 이동해야합니다. – merv

+0

아직 없습니다. netstream 버퍼가 꽉 찼을 때 플레이어의 너비/높이를 설정하고 있습니다. 이렇게하면 플레이어의 화면 크기가 바뀌는 것을 볼 수 있습니다. 이상한 점은 플래시 객체가있는 320x240의 div가 있고 (이 크기로 제대로 표시되어 있음) 내부에 플래시 객체가 있고 320x240으로 비디오 플레이어 크기를 설정하면 훨씬 작은 창을 볼 수 있다는 것입니다. 내가 320x240 괜찮아 -> swf 320x240 확인 - "비디오"자식 "320x240 nok /보다 작은해야 할 일을 다시 시작해야합니다. 내가 재생중인 비디오는 320x240입니다. – luis

+0

'동영상'하위 항목 '320x240 nok'를 말하면 추적 할 때 올바른 크기를 반환하지만 렌더링 할 때 320x240보다 작음을 의미합니까? 또한 브라우저 확대/축소는 서로 다른 브라우저에서 일관성없는 일을하는 경향이 있으므로 크기 조정 처리기를 사용하여 swf 및 Video 객체의 크기 조정을 처리했습니다. 일부 배율 특성을 추적 해 볼 수도 있습니다. – merv

답변

0

// get the video aspect ratio 
// 1.33 (4/3) | 640 x 480 
// 1.77 (16/9) | 854 x 480 
//trace(_video_width/_video_height); 
videoAspectRatio = _video_width/_video_height; 

// check if video is larger than stage 
// check which is larger: height or width 
// set video size as the largers of height or width 

// if video is a 4/3 aspect ratio 
if(videoAspectRatio < 1.4) 
{ 
    myVideo.width = _stageWidth/videoAspectRatio; 
    myVideo.height = myVideo.width/videoAspectRatio; 

    // if movie is still to small to the stage make it bigger 
    if(myVideo.height < _stageHeight) 
    { 
      myVideo.width = myVideo.width * (_stageHeight/myVideo.height); 
      myVideo.height = _stageHeight 
    } 
} 
else 
{ 
    myVideo.width = _stageWidth; 
    myVideo.height = _stageWidth/videoAspectRatio; 
}