04. november 2004 - 09:10Der er
16 kommentarer og 1 løsning
totaltime og flv
Hej, - hvordan er det lige jeg får smidt total time af en streamet flv med over i flash så den kender denne parameter? Jeg vil ikke bruge en ekstra variabel, - jeg mener man kan får noget metadata sendt med....
// Clip is the instance name of the movie clip // that contains the video object "my_video". _root.Clip.my_video.attachVideo(_root.myNetStream); _root.Clip.attachAudio(_root.myNetStream); var snd = new Sound("_root.Clip"); //To adjust the audio: _root.snd.setVolume(100);
Yes, det har jeg været ude for. Jeg løste det ved at lave et interval, der checker om videoen er større end 0px. Når videoen er det, kan du få duration hver gang.
Her er lidt kode, så du kan se ideen:
var FLVDuration:Number; var metaDataID:Number; var my_nc:NetConnection = new NetConnection(); my_nc.connect(null); var my_ns:NetStream = new NetStream(my_nc); my_video.attachVideo(my_ns); my_ns.setBufferTime(0.1); my_ns.play(videoURL); var ref:MovieClip = this; // beginPlayer = function (obj:Object) { updateAfterEvent(); if (my_video.width>0) { FLVDuration = obj.duration; } clearInterval(metaDataID); } // my_ns.onMetaData = function(obj:Object) { metaDataID = setInterval(ref, 'beginPlayer', 30, obj); };
Jeg vil helst bare bruge mit mediaplayback komponent som har navnet 'myMedia', jeg har dog lidt svært ved at få myMedia til at bruge NetStream methoder ;)
stop (); // pBar._visible = true; pBar.mode = "manual"; pBar.setStyle ("themeColor", "0xB2BFD2"); myMedia.stop (); checkProgress = function () { _root.getTimeNow = (_root.myMedia.playheadTime); _root.total = Math.floor (_root.myMedia.totalTime); _root.pBar.setProgress (_root.getTimeNow, _root.total-1); if (_root.pBar.percentComplete == 100) { _root.myMedia.stop (); _root.pBar.setProgress (0, _root.total); playKnap._alpha = 0; clearInterval (runCheck); } }; playKnap.onRelease = function () { // Start Play Behavior runCheck = setInterval (checkProgress, 100); var m = _root.myMedia; this._alpha = 40; stopKnap._alpha = 0; if (!m.playing) { m.play (); } // End Play Behavior }; stopKnap.onRelease = function () { clearInterval (runCheck); // Start Pause Behavior var m = _root.myMedia; this._alpha = 40; playKnap._alpha = 0; m.pause (); // End Pause Behavior }; lydKnap.onRelease = function () { var snd = new Sound (_root.myMedia); //To adjust the audio: if (snd.getVolume () != 0) { snd.setVolume (0); this._alpha = 40; } else { snd.setVolume (100); this._alpha = 0; } };
men det kan da godt være at jeg bliver nød til det for at få fat i alle de dejlige methoder....
jeg kan ikke få totalTime i min netStream udgave, - myMedia.totalTime er nu undefined, i modsætning til før da jeg bare brugte komponentet. Men hvis jeg bruger komponentet så kan jeg ikke sætte buffertiden eller hva??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.