0

我正在使用 Eclipse Helios 使用 MXML 文件构建闪存。我目前正在我的闪存中显示一个视频。我想要的是,当我双击视频时,必须发生一个事件,但不幸的是我无法获得在我的网页上双击视频的事件。这是我的 mxml 代码:

 <?xml version="1.0"?>
<!-- Publish Stream mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="Initialize();" 
        layout="absolute" paddingLeft="0" paddingTop="0" paddingBottom="0"
        paddingRight="0" >

    <!-- Script for PublishStream -->
    <mx:UIComponent  id="uiComp" visible="true" doubleClickEnabled="true" mouseEnabled="true"/>

    <mx:Script source="test.as"></mx:Script>
</mx:Application>

这是我的文件代码:

import mx.controls.Alert;
import flash.net.NetStream;
import flash.net.NetConnection;


private var _video           : Video;
private var _serverName      : String;
private var _connection      : NetConnection;
private var _stream          : NetStream;


public function Initialize():void
{
    _connection = new NetConnection();
    _connection.client = { onBWDone: function():void{ /*Alert.show('onBWDone', 'Alert Box', mx.controls.Alert.OK); */} };
    _connection.objectEncoding = flash.net.ObjectEncoding.AMF0;

    _connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    _connection.connect("server");
    Alert.show("Initialise", 'Alert Box', mx.controls.Alert.OK);
}

//Status event handler
public function netStatusHandler(event:NetStatusEvent):void 
{  
    Alert.show("hanlder", 'Alert Box', mx.controls.Alert.OK);
    _stream = new NetStream(_connection);
    _video = new Video();
    _video.doubleClickEnabled = true;
    _video.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);
    _video.attachNetStream(_stream);
     _stream.play("FlickAnimation.flv");
     uiComp.addChild(_video);
}

private function doubleClickHandler(event:MouseEvent):void
{
   Alert.show("Double Clicked", 'Alert Box', mx.controls.Alert.OK);
}

请告诉我为什么我没有双击视频,或者有没有其他方法可以解决这个问题。任何帮助将不胜感激。

4

1 回答 1

0

您的代码不应该从一开始就编译。视频不是交互式对象,并且没有名称为“doubleClickEnabled”的属性。即没有办法处理视频上的任何鼠标或手势事件(不仅是双击)。您要做的是在视频下方或上方放置一些交互式对象,以便它可以处理点击,或者将视频放入容器中,容器本身就是一个交互式对象。

于 2012-07-27T13:46:48.097 回答