J'essaie de créer un SWF de lecteur vidéo simple en utilisant le framework multimédia open source de Flex 4. Je veux le faire évoluer dynamiquement en fonction des dimensions de la vidéo, entrée par l'utilisateur. Je suis les instructions sur the Adobe help site, mais la vidéo ne semble pas évoluer correctement. Selon la taille, parfois les vidéos jouent plus que l'espace alloué sur la page Web, et parfois plus petit. La seule façon de le faire fonctionner correctement est d'inclure une balise de métadonnées SWF codant en dur la largeur et la hauteur, mais je ne peux pas l'utiliser si je veux que le lecteur soit dimensionné dynamiquement. Mon code est:Comment puis-je mettre à l'échelle un lecteur OSMF dans ActionScript 3/Flex
package {
import flash.display.Sprite;
import flash.events.Event;
import org.osmf.media.MediaElement;
import org.osmf.media.MediaPlayer;
import org.osmf.media.URLResource;
import org.osmf.containers.MediaContainer;
import org.osmf.elements.VideoElement;
import org.osmf.layout.LayoutMetadata;
public class GalleryVideoPlayer extends Sprite {
private var videoElement:VideoElement;
private var mediaPlayer:MediaPlayer;
private var mediaContainer:MediaContainer;
private var flashVars:Object;
public function GalleryVideoPlayer() {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
flashVars = loaderInfo.parameters;
mediaPlayer = new MediaPlayer();
videoElement = new VideoElement(new URLResource(flashVars.file));
mediaContainer = new MediaContainer();
var layoutMetadata:LayoutMetadata = new LayoutMetadata();
layoutMetadata.width = Number(flashVars.width);
layoutMetadata.height = Number(flashVars.height);
videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layoutMetadata);
mediaPlayer.media = videoElement;
mediaContainer.addMediaElement(videoElement);
addChild(mediaContainer);
}
}}