如何将相机附加到Spark.components.VideoDisplay

Onu*_*rım 4 apache-flex mxml actionscript-3 flash-builder flex-spark

我正在使用Flash Builder并创建了一个spark-application Flex项目,该项目将从本地摄像头流式传输视频.如果我使用mx.controls.VideoDisplay; 没有问题,因为它有attachCamera(camera)方法.但Spark的VideoDisplay组件没有那种方法.我知道我可以在Spark应用程序中使用mx控件,但我想知道:

  • spark.components.VideoDisplay和之间的真正区别是mx.controls.VideoDisplay什么?
  • 如何将相机连接到spark.components.VideoDisplay?
  • 如果我使用spark(因为它对mx库更新)有什么好处吗?

谢谢.

编辑:在文档中提到:" 从Flex 4.0开始,Adobe建议您使用spark.components.VideoPlayer类作为此类的替代.(mx.controls.VideoDisplay) "

小智 14

以下是实现此功能的具体信息:

import mx.events.FlexEvent;

import org.osmf.net.StreamType;

import spark.components.mediaClasses.DynamicStreamingVideoItem;
import spark.components.mediaClasses.DynamicStreamingVideoSource;

private var _cam:DynamicStreamingVideoSource =  new DynamicStreamingVideoSource();
private var _dynVideoSource:DynamicStreamingVideoSource;

protected function application1_creationCompleteHandler(event:FlexEvent):void
{

    _dynVideoSource=new DynamicStreamingVideoSource();

    var videoItems:Vector.<DynamicStreamingVideoItem>;
    videoItems=new Vector.<DynamicStreamingVideoItem>();
    videoItems[0]=new DynamicStreamingVideoItem();

    _dynVideoSource.host= "";
    _dynVideoSource.streamType=StreamType.LIVE;
    _dynVideoSource.streamItems=videoItems;

    mycam.source=_dynVideoSource;

    var cam:Camera = Camera.getCamera(); //Camera.names[0]);
    cam.setMode(640, 480, 15);
    cam.setQuality(0, 80);
    mycam.videoObject.attachCamera(cam); 
}
Run Code Online (Sandbox Code Playgroud)

  • 什么是'mycam'? (4认同)