2011-08-05 27 views
0

私は、ユーザーが変更した2つの切り替え可能なサイズのプレーヤーを構築していますが、その結果はありません。正常に動作します私のsetupPlayer機能、だビデオのサイズを変更するには

:次に

function setupPlayer():void 
{ 

      layout.width = _playerWidth; 
      layout.height = _playerHeight; 
      layout.layoutMode = LayoutMode.HORIZONTAL 
      layout.horizontalAlign = HorizontalAlign.CENTER; 
      layout.verticalAlign = VerticalAlign.TOP; 
      layout.scaleMode = ScaleMode.LETTERBOX; 

      videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
      videoElement.smoothing = true; 

      mediaPlayer.loop = false; 
      mediaPlayer.autoPlay = _autoPlay;    
      mediaContainer.addMediaElement(videoElement); 
      videoCanvas.addChild(mediaContainer);  

       .... // more code // 
} 

は、私が選手を供給し、それは私がそれのサイズを変更しようとすると、それはだ、正常に再生を開始します。 (私はLayoutMetadataを変更するために必要なことをどこかで読みました)が、何の効果もありません:私のエラーがどこにある

public function resize(width:Number, height:Number):void 
{ 
      // none of this worked 
      //mediaContainer.width = 1200; 
      //mediaContainer.height = 2000; 
      //mediaContainer.layout(1200, 2000, true); 


      // neither this 
      var layout:LayoutMetadata = new LayoutMetadata(); 
      layout.width = 1500; 
      layout.height = 1500; 
      layout.layoutMode = LayoutMode.HORIZONTAL 
      layout.horizontalAlign = HorizontalAlign.CENTER; 
      layout.verticalAlign = VerticalAlign.TOP; 
      layout.scaleMode = ScaleMode.STRETCH; 

      videoElement.removeMetadata(LayoutMetadata.LAYOUT_NAMESPACE) 
      videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
} 

誰かが指し示すことができますか?

ありがとうございます!

答えて

0

が解決するかどうかを確認、私は私の現在のvideoElementのための新しいlayoutMetadataを定義mediaContainer寸法を変更する必要がありました:

public function resize(width:Number, height:Number):void 
{ 
      mediaContainer.width = width; 
      mediaContainer.height = height; 

      var layout:LayoutMetadata = new LayoutMetadata(); 
      layout.width = width; 
      layout.height = height; 
      layout.layoutMode = LayoutMode.HORIZONTAL; 
      layout.horizontalAlign = HorizontalAlign.CENTER; 
      layout.verticalAlign = VerticalAlign.TOP; 
      layout.scaleMode = ScaleMode.STRETCH; 

      videoElement.removeMetadata(LayoutMetadata.LAYOUT_NAMESPACE); 
      videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
} 
2

VideoElementのwidthプロパティとheightプロパティを設定する代わりに、MediaContainerの幅と高さをそれぞれ_playerWidthと_playerHeightに設定します。以下のコードを試してみて、それがあなたにこれが働いていた問題

function setupPlayer():void 
{ 

      mediaContainer.width = _playerWidth; 
      mediaContainer.height = _playerHeight; 

      layout.layoutMetadata.percentWidth = 100; 
      layout.layoutMetadata.percentHeight = 100; 
      layout.scaleMode = ScaleMode.LETTERBOX; 

      videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
      videoElement.smoothing = true; 

      mediaPlayer.loop = false; 
      mediaPlayer.autoPlay = _autoPlay;    
      mediaContainer.addMediaElement(videoElement); 
      videoCanvas.addChild(mediaContainer);  

       .... // more code // 
} 

public function resize(width:Number, height:Number):void 
{ 
      // none of this worked 
      mediaContainer.width = 1200; 
      mediaContainer.height = 2000; 
} 
+0

私はどのように考え出しましたそれを正しく行うには、mediaContainer **を変更して、新しいlayouMetadataを設定する必要があります。 –

関連する問題