我目前正试图在flex上制作游戏,而我遇到的其中一个问题是如何在开始时播放短动画。这是我到目前为止有:使用flex播放视频,AS3
Game.mxml
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
name="Game"
backgroundColor="#000000"
horizontalAlign="center"
creationComplete="Init();"
enterFrame="UpdateFrame();"
paddingLeft="0"
paddingTop="0"
paddingBottom="0"
paddingRight="0"
width="800" height="600">
<mx:Script>
<![CDATA[
include "Game.as";
]]>
</mx:Script>
<mx:Canvas id="gamePanel" x="0" y="0" width="100%" height="100%" mouseDown="MouseDown(event)" mouseUp="MouseUp(event)" mouseMove="MouseMoved(event)"/>
</mx:Application>
和Game.as
import flash.display.*;
import flash.events.*;
import flash.external.ExternalInterface;
import mx.events.*;
import mx.controls.*;
[Embed(source="MyVideoClip.flv")] private var MyVideoClip:Class;
public function Init():void
{
var MyVideo:Video = new Video(800, 600);
addChild(MyVideo);
var qNetConnection:NetConnection = new NetConnection();
qNetConnection.connect(null);
var qNetStream:NetStream = new NetStream(qNetConnection);
MyVideo.attachNetStream(qNetStream);
qNetStream.client = new Object();
qNetStream.play(MyVideoClip);
}
private function UpdateFrame():void
{
}
private function MouseDown(event:MouseEvent):void
{
}
private function MouseUp(event:MouseEvent):void
{
}
private function MouseMoved(event:MouseEvent):void
{
}
我是相当新的Flex和AS3所以大多数代码被扯掉网教程。每当我尝试编译它时,我都会得到:'错误:'MyVideoClip.flv'没有延伸扩展,并且没有提供mimeType。错误:无法转码'MyVideoClip.flv''
如果我在play()函数中删除'embed'行并将MyVideoClip替换为“MyVideoClip.flv”,则代码无错误编译,但是当我打开我得到的SWF只是一个黑屏。我在做什么非常错误?
在此先感谢!
编译器不知道如何转码的mime类型有限,所以将它嵌入到字节数组中,就像RobertL的答案所说的那样,你可以通过NetStream播放它...... Mime类型:http:// stackoverflow.com/questions/6012772/as3-transcoder-mimetypes – SushiHangover