我想让VideoDisplay和FlashDevelop一起玩媒体。下面是我的应用程序的来源:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.VideoEvent;
private function pause():void
{
if (moo_player.state == VideoEvent.PLAYING)
moo_player.pause(); else
if (moo_player.state == VideoEvent.PAUSED)
moo_player.play();
}
]]>
</mx:Script>
<mx:Panel>
<mx:VideoDisplay
source="bar.flv"
width="640"
height="480"
maintainAspectRatio="true"
id="moo_player"
autoPlay="true"
doubleClick="pause();"
doubleClickEnabled="true"
/>
</mx:Panel>
</mx:Application>问题是当我构建并运行应用程序时(不幸的是,没有KMPlayer或Mozilla - Flash是一个插件afaik,我不知道如何运行它),我没有视频。电影文件与应用程序的"Application.flv“文件位于同一个目录中。但是如果我重新加载应用程序(在播放器或浏览器内)几次,视频就会启动。
所以,下面是我的问题::
VideoDisplay组件有什么问题,以及如何修复这个“不播放”?请不要因为我的知识不足而生气--我大约30分钟前就开始使用Flex了。
发布于 2011-07-11 14:27:01
你应该使用星火组件,而不是MX组件。试试这个:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:VideoPlayer source="bar.flv" width="640" height="480" />
</s:Application>发布于 2011-07-10 01:32:21
组件内部的视频显示存在一些问题。这是唯一一个在某些方面做得很差的flex组件。请不要让它阻止你去探索Flex。
创建扩展它的自定义组件,用以下代码创建一个名为CustomVideoDisplay.as的文件:
package
{
import mx.controls.VideoDisplay;
public class CustomVideoDisplay extends VideoDisplay
{
[Bindable]
override public function get source():String
{
return super.source;
}
override public function set source(value:String):void
{
super.source = value;
play();
}
public function CustomVideoDisplay()
{
super();
}
}}
然后将其添加到根<application>标记中:
xmlns:local="*"对于您的视频组件,请参阅以下内容:
<local:CustomVideoDisplay
source="bar.flv"
width="640"
height="480"
maintainAspectRatio="true"
id="moo_player"
autoPlay="true"
doubleClick="pause();"
doubleClickEnabled="true"
/>如果这对你不起作用,请告诉我!
发布于 2011-07-11 18:03:03
嗯,我想:我的播放器将在web项目的客户端运行,在FireFox中,代码成功地运行了七次运行。我认为这对测试和实现来说已经足够了。
谢谢大家的麻烦!
https://stackoverflow.com/questions/6637619
复制相似问题