是否可以在编译时从嵌入swf的数据中播放视频(使用[Embed]元标记)?
Flash CS3等提供的“导入视频 – >嵌入”功能是不可接受的,因为它有许多严重的限制(包括声音同步问题,最大帧数和其他警告)
我有兴趣将swv视频数据捆绑在swf(以及其他资产)中,这些数据将由AIR应用程序播放.
我不认为可以做到.有人不同意吗?
解决方法
只要您的视频是FLV,那么答案是肯定的 – 您可以使用NetStream.appendBytes()来播放嵌入的ByteArray:
public class Main extends MovieClip { [Embed(source="sample.flv",mimeType="application/octet-stream")] private var SampleVideo:Class; public function Main():void { var video:Video = new Video(320,240); addChild(video); var netConnection:NetConnection = new NetConnection(); netConnection.connect(null); var netStream:NetStream = new NetStream(netConnection); netStream.client = {}; video.attachNetStream(netStream); var byteArray:ByteArray = new SampleVideo(); netStream.play(null); netStream.appendBytes(byteArray); } }