【发布时间】:2016-03-28 05:07:49
【问题描述】:
我目前正在尝试在 flex 上制作游戏,我遇到的一个问题是如何在开始时播放短动画。这是我目前所拥有的:
游戏.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() 函数中删除“嵌入”行并将 MyVideoClip 替换为“MyVideoClip.flv”,则代码编译不会出错,但是当我打开 SWF 时,我得到的只是黑屏。我做错了什么?
提前致谢!!
【问题讨论】:
-
编译器现在知道如何转码的 mime 类型数量有限,因此如 RobertL 的回答所说,将其嵌入为字节数组,您可以通过 NetStream 播放它...... Mime 类型:stackoverflow.com/questions/6012772/as3-transcoder-mimetypes
标签: actionscript-3 flash apache-flex video