【发布时间】:2012-07-10 16:05:09
【问题描述】:
我正在使用 spark 视频组件,但是 spark videoObject 为 null,当使用动态视频源对象时它仍然为 null。相机被正确检测到,但是当使用变量时它为空,当直接使用相机对象时检测到usb相机并且videoobject仍然为空......任何想法???
现在,当使用 Camera.names 时,所有“相机”都为空,当从 apache 虚拟主机播放视频时,它播放得很好,这太奇怪了...!
根据要求,更新代码:
import mx.controls.Alert;
import mx.events.FlexEvent;
import spark.components.VideoPlayer;
private var vidPlyr:VideoPlayer = null;
protected function winAppCreated(event:FlexEvent):void {
// Video Player
vidPlyr = new VideoPlayer();
vidPlyr.width = 320;
vidPlyr.height = 240;
// Video from apache virtualhost:
vidPlyr.source = "http://flex.test.capimg/JormaKaukonenCracksInTheFinish.flv";
addElement(vidPlyr);
var cameraTV:Camera = Camera.getCamera(Camera.names[0]);
var cameraUSB:Camera = Camera.getCamera(Camera.names[1]);
if (cameraTV) {
vidPlyr.videoDisplay.videoObject.attachCamera(cameraTV);
} else {
Alert.show("no TV card - " + Camera.names[0]);
// Alert shows: "no TV card - SAA7130 Analog TV Card"
}
if (cameraUSB) {
vidPlyr.videoDisplay.videoObject.attachCamera(cameraUSB);
} else {
Alert.show("no USB camera - " + Camera.names[1]);
// Alert shows: "no USB camera - USB2.0 Grabber"
}
}
这是运行应用的截图。
【问题讨论】:
-
我通常在播放视频时自己动手,所以我没有使用过 Spark
VideoPlayer类。但是,docs 表示如果source属性是null,那么可能还没有底层videoObject。也许如果您显示更多代码,我们可以提供更多帮助。 -
谢谢@SunilD。我已经添加了我的实际代码...
标签: actionscript-3 apache-flex flex-spark