
[英]Flash/AIR Stage Video on iOS - Is It Possible? How is the performance?
[英]How to loop a video on flash for air ? [duplicate]
可能重复:
需要Flash Air视频帮助
我正在制作一个基于视频的应用程序。在这个应用程序中,需要720p循环播放。我有5秒的视频,应在5秒后自动播放我的意思是循环。我正在为Android和IOS制作此应用程序。循环的东西使用5秒钟的计时器,但是每个剪辑后都有一个混响。我需要一个平稳的循环,剪辑后没有任何混响
提前致谢
以下是我正在使用的代码。如果您知道其他比此更好的代码,请分享其他内容,请帮助我使用此代码
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.display.Sprite;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.events.MouseEvent;
import flash.display.MovieClip;
var video:Video;
var streamClient:Object;
var connection:NetConnection;
var stream:NetStream;
streamClient = new Object;
streamClient.onTextData = onTextData;
streamClient.onMetaData = onMetaData;
streamClient.onCuePoint = onCuePoint;
video = new Video();
video.smoothing = true;
addChild(video);
clickMe.addEventListener(MouseEvent.CLICK, initiatePlayback);
function initiatePlayback(e:MouseEvent):void
{
connection = new NetConnection ;
connection.client = streamClient;
connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
connection.connect(null);
myTimer.start();
video.width = 768;
video.height = 1024;
}
function onNetStatus(e:NetStatusEvent):void {
switch (e.info.code){
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetSream.Buffer.FULL":
video.width = 768;
video.height = 1024;
video.scaleY = video.scaleX;
break;
}
}
function connectStream():void {
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
stream.client = streamClient;
video.attachNetStream(stream);
stream.play("movie1.mp4");
}
function onTextData(info:Object):void {}
function onMetaData(info:Object):void {}
function onCuePoint(info:Object):void {}
删除与计时器相关的代码。 您应该能够在onNetStatus事件处理程序中侦听视频完成情况
尝试这个:
function onNetStatus(e:NetStatusEvent):void {
switch (e.info.code){
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetSream.Buffer.FULL":
video.width = 768;
video.height = 1024;
video.scaleY = video.scaleX;
break;
/////add this case to make the clip loop
case "NetStream.Buffer.Empty": //listening for the end of the movie
stream.play("movie1.mp4"); //play the clip again
break;
//try using this to create a gapless playback loop
case "NetStream.Play.Stop":
stream.seek(0);
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.