[Flash CS4] LiveAudioStream Player mit Benutzeranzeige

nauti_lus

Grünschnabel
Hallo Forum,

als Flashneuling habe ich mir ein vllt. zu großes Projekt überlegt aber da ich jetzt schon mal angefangen habe, will ich es auch fertig bekommen und ich hoffe ihr könnt mir hier helfen.

Die Umgebung:

Ich habe eine FMS aufgesetzt der läuft und funktioniert. Ein Encoder der ein LiveAudio an den Server sendet existiert und läuft. Ein .swf, dass den LiveStream abgreift und wiedergibt.


Soweit alles kein Problem, auch wenn es zurzeit nicht hübsch aussieht aber es funktioniert :)


ToDo:

Jetzt kommt das, was ich gerne noch hätte.
  1. Einen "Pegelmeter" für den AudioStream (Wenn man ins Mic reinschreit, dann soll der Pegel ins rote Auschlagen - sowas meinte ich)
  2. Eine "Lampe" die mir sagt, das ich zu dem Server verbunden bin
  3. Eine Liste mit den eingelogten Usern

Und genau das fangen meine Probleme an. Ddenn nun kann man nicht mehr so einfach alles per Drag&Drop einfügen :) Bin ja ehrlich ;)


Such hier nicht nur einfach die Lösung sondern auch die Erklärung. Programmiertechnisch bin ich zwar kein Anfänger aber hier ist doch einiges anders als ich es kenne.

Für Tips, Ideen und Links wäre ich euch sehr dankbar!

Gruß
nauti
 
Lösungsansätze:

Für das "Problem" mit dem "Pegelmeter" bin ich weiter gekommen.
Mit get leftPeak() - rightPeak() kann man was schönes zaubern bzw. zauberlassen ;)
Ich kann zwar jetzt mir die Amplitude von einem mp3 Stream anzeigen lassen aber nochnicht von dem LiveStream.

Code:
myAudio.isLive = true;

//import flash.net.NetConnection;
//import flash.events.NetStatusEvent;

left.mask = leftMask;
right.mask = rightMask;

var nc:NetConnection = new NetConnection();
var ns:NetStream;
nc.connect("rtmp://10.0.0.227/live/livestream");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

function netStatusHandler(evt:NetStatusEvent):void{
	if (evt.info.code == "NetConnection.Connect.Success" ){
            ns.play("livestream");
	}
};

this.addEventListener(Event.ENTER_FRAME, showAmplitude);

function showAmplitude(eventArgs:NetStream)
{
	leftMask.y = 318 + (ns.leftPeak * - 230);
	rightMask.y = 318 + (ns.rightPeak * - 230);
}

Hier bekomme ich immer den Fehler:
TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
at amplitude_fla::MainTimeline/netStatusHandler()

Error #2044: AsyncErrorEvent unverarbeitet. text=Error #2095: flash.net.NetConnection konnte Rückruf onBWDone nicht auslösen. error=ReferenceError: Error #1069: Eigenschaft onBWDone für flash.net.NetConnection nicht gefunden und es ist kein Standardwert vorhanden.
at amplitude_fla::MainTimeline/frame1()

TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.events::Event@26291071 kann nicht in flash.net.NetStream umgewandelt werden.
 

Anhänge

  • myAudio 2.zip
    1.002,4 KB · Aufrufe: 29
Zuletzt bearbeitet:
Zurück