2012-06-13 4 views
0

20 분짜리 FLV가 서버에서 제대로 작동합니다. 클라이언트는 세션간에 사용자의 위치를 ​​보존하여 time()을 mySQL에 저장하고 FlashVar로 다시 전달하고 seek() 및 테스트를 위해 텍스트 필드에 제공됩니다 (설정된 경우). 문제는 seek()가 로컬에서 잘 작동하지만 서버에서 seek()이 설정된 값과 상관없이 항상 NetStream.Seek.InvalidTime 오류가 발생합니다. 문서 도구는 here입니다. 그것은 죽은 단순한 기능입니다.Flash NetStream.seek 메서드는 로컬 테스트에서 작동하지만 서버에서는 작동하지 않습니다.

// EDIT 그냥 http://www.buraks.com/flvmdi/를 사용하여 FLV 키 프레임을 추가하지만이 사람은 이제까지 전에 본

src = "videos/LivingProof.flv"; 

nc = new NetConnection(); 
nc.connect(null); 
nets = new NetStream(nc); 
mc_flv.attachVideo(nets); 

//Attach your netstream audio to a movielcip: 
snd.attachAudio(nets); 
// create a sound object 
my_snd = new Sound(snd); 
// to adjust the volume 
my_snd.setVolume(50); 
nets.play(src); 

if (starttime) { 
    var dest:Number = Math.floor(starttime); 
    nets.seek(dest); 
    this.test.text = 'target time = ' + dest; 
} 

nets.onStatus = function(infoObject:Object) { 
    if(infoObject.level == "status" && infoObject.code == "NetStream.Play.Stop") { 
     getURL("javascript:setTime('9999999999');", "_self"); 
     nets.seek(0); 
     nets.pause(); 
     mc_play.gotoAndStop(1); 
     trace('onStatus listener fired'); 
    } else if (infoObject.code == "NetStream.Seek.InvalidTime") { 
     _root.test.text = "NetStream.Seek.InvalidTime"; 
     nets.seek(infoObject.details); 
    } 
    _root.status.text = infoObject.code; 
}; 

문제가 해결되지 않았다?

답변

1

시도 NetStream.Play.Start 코드를 확인하고 그에게 시크 논리를 이동하기 위해 onStatus 핸들러에 if 문을 추가 :

src = "videos/LivingProof.flv"; 

nc = new NetConnection(); 
nc.connect(null); 
nets = new NetStream(nc); 
mc_flv.attachVideo(nets); 

//Attach your netstream audio to a movielcip: 
snd.attachAudio(nets); 
// create a sound object 
my_snd = new Sound(snd); 
// to adjust the volume 
my_snd.setVolume(50); 
nets.play(src); 

nets.onStatus = function(infoObject:Object) { 
    if(infoObject.level == "status" && infoObject.code == "NetStream.Play.Stop") { 
     getURL("javascript:setTime('9999999999');", "_self"); 
     nets.seek(0); 
     nets.pause(); 
     mc_play.gotoAndStop(1); 
     trace('onStatus listener fired'); 
    } else if (infoObject.code == "NetStream.Play.Start) { 
     if (starttime) { 
      var dest:Number = Math.floor(starttime); 
      nets.seek(dest); 
      this.test.text = 'target time = ' + dest; 
     } 
    } else if (infoObject.code == "NetStream.Seek.InvalidTime") { 
     _root.test.text = "NetStream.Seek.InvalidTime"; 
     nets.seek(infoObject.details); 
    } 
    _root.status.text = infoObject.code; 
}; 
관련 문제