actionscript 3 - In AS3 while using NetStream for video playback how do I seek when I use appendBytes -


i trying use netstream play bytearray. please see this talking about.

i able play video. need able see particular second. not able this. if go through bytearray know can metadata , keyframes required , offset ( in bytes) each keyframe at. there no way seek particular offset. supports seek in seconds , doesn't seem work on bytearray.

how go ?

i got worked:

// onmetadata function timestamp , corresponding fileposition..  function onmetadata(infoobject: object): void {      (var propname: string in infoobject) {          if (propname == "keyframes") {             var kfobject: object = infoobject[propname];             var timearr: array = kfobject["times"];             var bytearr: array = kfobject["filepositions"];              (var i: int = 0;i < timearr.length;i++) {                 var tagpos: int = bytearr[i]; //read tag size;                 var timestamp: number = timearr[i]; //read timestamp;                 tags.push({                     timestamp: timestamp,                     tagpos: tagpos                 });              }         }  // onseek click approximate timestamp , fileposition protected  function seek_click(seektime: number): void {      var ctime: number = 0;     var ptime: number = 0;      (var i: int = 1;i < tags.length;i++) {         ctime = tags[i].timestamp;         ptime = tags[i - 1].timestamp;          if (ptime < seektime) {             if (seektime < ctime) {                 seekpos = tags[i - 1].tagpos;                 stream.seek(ptime);                 break;             }         }     } }  /// append bytes on seekposition private  function netstatushandler(event: netstatusevent): void {      switch (event.info.code) {      case "netstream.seek.notify":         stream.appendbytesaction(netstreamappendbytesaction.reset_seek);          totalbytearray.position = seekpos;          var bytes: bytearray = new bytearray();         totalbytearray.readbytes(bytes);         stream.appendbytes(bytes);          stream.resume();         break;     } }​ 

Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -