| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2007
Beiträge: 4
| RTMP Stream togglePause
Hi, ich versuch mich grade an einem video player der einen RTMP Livestream darstellen soll. Soweit so gut, der Stream läuft, allerdings möchte ich zusätzlich einen Pause/Play Button einbauen (auch wenns ein livestream ist). Ich verwende dazu die Funktion togglePause(), allerdings verhält sich die etwas seltsam. Wenn ich keine bufferTime setze passiert bei klick auf den pause button gar nichts, setzte ich eine bufferTime, dann pausiert der livestream zwar, fängt bei neuem klick aber nicht mehr an den stream weiterszuspielen. Als Streamingserver kommt der Wowza zum einsatz, als encoder der FME in H.264 Kennt jemand von euch das Verhalten oder hab ich im Code irgendwo ein schmarrn drinstehen? Code: //Stream Config
var streamname:String = "streamme";
var streamurl:String = "rtmp://thestreamurl";
var ns:NetStream;
var nc:NetConnection = new NetConnection();
// Checken ob die Verbindung hergestellt wurde
nc.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
// Welcher Stream soll abgespielt werden
nc.connect(streamurl);
function statusHandler(evt:NetStatusEvent):void {
switch(evt.info.code) {
// Bei erfolgreicher Verbindung wird die Verbindung gecheckt und
// über die connectStream Funktion die Verfügbarkeit des Streams geprüft
case 'NetConnection.Connect.Success':
connectStream();
break;
// Wenn der Livestream nicht sendet
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + streamname);
break;
}
}
// Bei Verbindung wird der Livestream gechekct und bei O.K geladen
function connectStream():void {
ns = new NetStream(nc);
var customClient:Object = new Object();
ns.client = customClient;
ns.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
ns.play(streamname);
ns.bufferTime = 1;
my_vid.attachNetStream(ns);
}
/****** STEUERUNG *********/
// VOLUME ******** START
var dragging:Boolean = false
var rectangle:Rectangle = new Rectangle(0,0,100,0);
volume_mc.slider_mc.addEventListener(MouseEvent.MOUSE_DOWN,dragIt);
stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);
function dragIt(e:Event):void {
volume_mc.slider_mc.startDrag(false,rectangle);
dragging = true;
volume_mc.slider_mc.addEventListener(Event.ENTER_FRAME,adjustVolume);
}
function dropIt(e:Event):void {
if (dragging) {
volume_mc.slider_mc.stopDrag();
dragging = false;
}
}
function adjustVolume(e:Event):void {
var vol:Number = volume_mc.slider_mc.x/100;
var videoVolumeTransform:SoundTransform = new SoundTransform();
videoVolumeTransform.volume = vol;
if (ns != null) {
ns.soundTransform = videoVolumeTransform;
}
}
// VOLUME ******** END
// PAUSE ******** START
pause_btn.addEventListener (MouseEvent.MOUSE_UP, tp);
function tp(event:MouseEvent) {
ns.togglePause();
}
// PAUSE ******** END |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |