2012-04-01 260 views
0

可能重複:
Flash Air video help needed如何在Flash上​​循環播放視頻以供播放?

我提出基於application.In此應用的720P是必須發揮循環wise.I視頻有5秒的視頻應該自動播放5秒後我的意思是loop.I使這個應用程序爲Android和IOS.I已經嘗試了5秒的循環事物使用計時器,但每個剪輯後都有一個混蛋。我需要一個平滑循環沒有任何混蛋後剪輯

由於提前

以下是我是using.If你知道任何其他代碼比這更好的,請分享其他人,請幫助我這個代碼

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 {} 

回答

0

刪除相關定時器的代碼。你應該能夠監聽視頻完成你的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; 


    } 
} 
+0

感謝您的幫助me.The代碼工作很好,但有間隙的各個剪輯後的主要問題仍然是相同的。這使得看到循環視頻非常糟糕。如果你知道任何方式使視頻播放順利沒有剪輯之間的差距。請幫助... :) – 2012-04-01 15:12:25

+0

更新我的答案,包括另一種可能的解決方案 – francis 2012-04-01 15:35:15

+0

真的非常感謝您的幫助。但問題仍然是一樣的。注意我爲android和ios.i在我的平板電腦上測試這個應用程序。你有任何其他的想法,使這個更好或另一種方法來播放video.Please幫助我如果你知道的話。 – 2012-04-01 16:17:51