| Paket | flash.net |
| Klasse | public class NetStream |
| Vererbung | NetStream EventDispatcher Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
NetStream.publish() einen Stream veröffentlichen, oder er kann unter Verwendung von NetStream.play() einen veröffentlichten Stream abonnieren und Daten empfangen. Sie können sowohl Live-Daten (Echtzeitdaten) als auch aufgezeichnete Daten veröffentlichen und wiedergeben. Darüber hinaus können Sie NetStream-Objekte verwenden, um Textnachrichten an alle Clients mit Abonnement zu senden (nähere Informationen finden Sie im Abschnitt zur Methode NetStream.send()).
Das Abspielen externer Videodateien bietet mehrere Vorteile im Vergleich zum Einbetten von Videodateien in Flash-Dokumente, so z. B. bessere Leistungs- und Speicherverwaltung und unabhängige Video- und Flash-Bildraten.
Informationen zu unterstützten Codecs und Dateiformaten finden Sie unter http://www.adobe.com/go/hardware_scaling_de und in der Flash Media Server-Dokumentation.Mit den Methoden und Eigenschaften der NetStream-Klasse lässt sich das Laden und Abspielen von Dateien verfolgen und Benutzern die Möglichkeit einräumen, die Wiedergabe zu steuern (Stopp, Pause usw.).
Allgemeiner Workflow für Audio- oder Video-Streaming. Die nachstehenden Schritte fassen den Arbeitsablauf beim Veröffentlichen von Echtzeitaudio und -video zusammen:
NetConnection.connect() eine Verbindung zu der Anwendungsinstanz auf dem Server her.NetStream.attachAudio(), um Audiodaten zu erfassen und über den Stream zu senden, und die Methode NetStream.attachCamera(), um Videodaten zu erfassen und über den Stream zu senden.NetStream.publish(), um dem Stream einen eindeutigen Namen zuzuweisen und die Daten über den Stream an den Server zu senden, sodass andere Benutzer sie empfangen können. Sie können die veröffentlichten Daten auch aufzeichnen, sodass Benutzer die Möglichkeit haben, sie zu einem späteren Zeitpunkt wiederzugeben.SWF-Dateien, die den Stream abonniert haben, verwenden den in ihrem Aufruf von play() an publish() übergebenen Namen und rufen dieselbe NetConnection.connect()-Methode auf wie der Herausgeber. Sie müssen die Methode Video.attachNetStream() für das Streaming der Videodaten und die Methode NetStream.play() für die Wiedergabe der Videodaten aufrufen.
Verwendung von Datenschlüsselbildern mit Flash Media Server. Nachdem Sie die NetConnection- und NetStream-Objekte erstellt haben, können Sie mit NetStream.send() Metadaten zu Live-Audio oder -Video hinzufügen, während Sie es an den Server streamen. Als Metadaten werden zum Beispiel Informationen zur Höhe oder Breite eines Videos, zur Spieldauer oder zum Namen des Erstellers bezeichnet. Sie definieren die Metadaten mit dem speziellen Prozedurnamen @setDataFrame als erstes Argument für NetStream.send(). Der Client, er den Live-Stream empfängt, muss ebenfalls eine onMetaData-Ereignisprozedur definieren, um die Metadaten vom Stream abzurufen. Nähere Informationen hierzu finden Sie in der Beschreibung derNetStream.send()-Methode.
Siehe auch
| Eigenschaft | Definiert von | ||
|---|---|---|---|
| bufferLength : Number
[read-only] Die derzeit im Puffer befindliche Datenmenge, gemessen in Sekunden.
| NetStream | ||
| bufferTime : Number
Bestimmt, wie lange Nachrichten im Zwischenspeicher bleiben, bis mit der Anzeige des Streams begonnen wird.
| NetStream | ||
| bytesLoaded : uint
[read-only] Die Anzahl der in Flash Player geladenen Datenbytes.
| NetStream | ||
| bytesTotal : uint
[read-only] Die Gesamtgröße (in Byte) der in Flash Player geladenen Datei.
| NetStream | ||
| checkPolicyFile : Boolean
Gibt an, ob vor dem Laden der Videodatei versucht werden soll, eine domänenübergreifende Richtliniendatei vom Server der Videodatei herunterzuladen.
| NetStream | ||
| client : Object
Gibt das Objekt an, bei dem Rückrufmethoden aufgerufen werden.
| NetStream | ||
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
| Object | |
| currentFPS : Number
[read-only] Die Zahl der pro Sekunde angezeigten Bilder.
| NetStream | ||
| liveDelay : Number
[read-only] Die Datenmenge (in Sekunden) im Zwischenspeicher des abonnierenden Streams im Live-Modus (ohne Puffer).
| NetStream | ||
| objectEncoding : uint
[read-only] Die Objektcodierung (AMF-Version) für dieses NetStream-Objekt.
| NetStream | ||
![]() | prototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| soundTransform : SoundTransform
Steuert den Sound in diesem NetStream-Objekt.
| NetStream | ||
| time : Number
[read-only] Die Position des Abspielkopfs in Sekunden.
| NetStream | ||
| Methode | Definiert von | ||
|---|---|---|---|
|
NetStream(connection:NetConnection)
Erstellt einen Stream, der zum Wiedergeben von Videodateien durch das angegebene NetConnection-Objekt verwendet werden kann.
| NetStream | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
| EventDispatcher | |
|
Gibt einen über das NetStream-Objekt gesendeten Audio-Stream an, wobei das Microphone-Objekt als Quelle übergeben wurde.
| NetStream | ||
|
Startet die Erfassung der Videodaten von einer Kamera bzw. stoppt die Erfassung, wenn "theCamera" auf "null" gesetzt ist.
| NetStream | ||
|
Stoppt die Wiedergabe der Daten im Stream, legt für die Eigenschaft "time" den Wert 0 fest und macht den Stream für andere Verwendungszwecke verfügbar.
| NetStream | ||
![]() |
Sendet ein Ereignis in den Ereignisablauf.
| EventDispatcher | |
![]() |
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
| EventDispatcher | |
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
|
Hält die Wiedergabe eines Video-Streams an.
| NetStream | ||
|
Startet die Wiedergabe von Videodateien.
| NetStream | ||
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
|
Sendet einen Stream mit Audiodaten, Videodaten und Textnachrichten von einem Client an Flash Media Server. Der Stream kann während der Übertragung aufgezeichnet werden.
| NetStream | ||
|
Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden.
| NetStream | ||
|
Gibt an, ob eingehende Videodaten im Stream wiedergegeben werden.
| NetStream | ||
![]() |
Entfernt einen Listener aus dem EventDispatcher-Objekt.
| EventDispatcher | |
|
Setzt die Wiedergabe eines angehaltenen Video-Streams fort.
| NetStream | ||
|
Sucht das Schlüsselbild (in der Videobranche auch "I-Frame" genannt), das der angegebenen Positionen am nächsten ist.
| NetStream | ||
|
Sendet eine Nachricht an alle Clients mit Abonnement über den veröffentlichten Stream.
| NetStream | ||
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
|
Hält die Wiedergabe eines Streams an oder setzt sie fort.
| NetStream | ||
![]() |
Gibt das angegebene Objekt als String zurück.
| Object | |
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
![]() |
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
| EventDispatcher | |
| Ereignis | Übersicht | Definiert von | ||
|---|---|---|---|---|
![]() | Wird ausgelöst, wenn Flash Player den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | ||
| Wird ausgelöst, wenn eine Ausnahme asynchron ausgelöst wird – das heißt, aus nativem asynchronem Code. | NetStream | |||
![]() | Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird. | EventDispatcher | ||
| Wird beim Auftreten eines Eingabe/Ausgabe-Fehlers ausgelöst, durch den ein Netzwerkvorgang fehlschlägt. | NetStream | |||
| Wird ausgelöst, wenn der Status oder die Fehlerbedingung eines NetStream-Objekts protokolliert wird. | NetStream | |||
| Wird aufgerufen, wenn bei der Wiedergabe einer Videodatei ein eingebetteter Cue-Point erreicht wird. | NetStream | |||
| Wird ausgelöst, wenn Flash Player in der wiedergegebenen Videodatei eingebettete beschreibende Informationen empfängt. | NetStream | |||
| Wird ausgelöst, wenn ein NetStream-Objekt einen Stream vollständig wiedergegeben hat. | NetStream | |||
| bufferLength | Eigenschaft |
bufferLength:Number [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die derzeit im Puffer befindliche Datenmenge, gemessen in Sekunden. Wenn Sie diese Eigenschaft zusammen mit bufferTime verwenden, können Sie einschätzen, wie weit der Zwischenspeicher belegt ist — um beispielsweise eine Rückmeldung für einen Benutzer anzuzeigen, der darauf wartet, dass Daten in den Zwischenspeicher geladen werden.
public function get bufferLength():Number Siehe auch
| bufferTime | Eigenschaft |
bufferTime:Number [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Bestimmt, wie lange Nachrichten im Zwischenspeicher bleiben, bis mit der Anzeige des Streams begonnen wird. Wenn beispielsweise die ersten 15 Sekunden des Streams ohne Unterbrechung wiedergegeben werden sollen, legen Sie 15 für bufferTime fest. Flash Player beginnt mit der Wiedergabe des Streams erst, wenn 15 Datensekunden zwischengespeichert sind.
Der Standardwert ist 0,1 (ein Zehntel einer Sekunde). Mit der Eigenschaft bufferLength können Sie die derzeit im Puffer befindliche Datenmenge (in Sekunden) ermitteln.
Hinweis: Um beim Streaming von aufgezeichneten Inhalten (nicht live) Verzerrungen zu vermeiden, sollten Sie den Wert von Netstream.bufferTime auf 0 setzen. Bei aufgezeichneten Inhalten verwendet Flash Player standardmäßig einen Eingabepuffer, der die Mediendaten in eine Warteschlange stellt und die Medien korrekt wiedergibt. Verwenden Sie bei aufgezeichneten Inhalten die Standardeinstellung oder erhöhen Sie die Pufferzeit.
Flash Media Server. Das Pufferverhalten ist davon abhängig, ob die Pufferzeit für einen veröffentlichenden oder abonnierenden Stream festgelegt wird. Für einen veröffentlichenden Stream legt bufferTime fest, wie lange der ausgehende Puffer anwachsen kann, bevor Flash beginnt, Bilder zu überspringen. Bei einer Highspeed-Verbindung sollte die Pufferzeit kein Problem darstellen; Daten werden fast so schnell gesendet, wie Flash sie puffern kann. Bei langsameren Verbindungen kann es jedoch einen erheblichen Unterschied geben zwischen der Geschwindigkeit, mit der Flash Daten puffert, und der Geschwindigkeit, mit der die Daten an den Client gesendet werden.
Für einen abonnierenden Stream legt bufferTime fest, wie lange eingehende Daten gepuffert werden, bevor der Stream angezeigt wird. Wenn beispielsweise die ersten 15 Sekunden des Streams ohne Unterbrechung wiedergegeben werden sollen, legen Sie 15 für bufferTime fest; Flash beginnt mit der Wiedergabe des Streams erst, wenn 15 Datensekunden zwischengespeichert sind.
Wenn ein aufgezeichneter Stream abgespielt wird und bufferTime den Wert null aufweist, stellt Flash einen kleinen Wert ein (ca. 10 Millisekunden). Wenn Live-Stream später abgespielt werden (zum Beispiel von einer Wiedergabeliste) bleibt die Pufferzeit erhalten. Das bedeutet, bufferTime bleibt "nicht null" für den Stream.
public function get bufferTime():Number public function set bufferTime(value:Number):void Siehe auch
| bytesLoaded | Eigenschaft |
bytesLoaded:uint [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Anzahl der in Flash Player geladenen Datenbytes. Wenn Sie diese Eigenschaft zusammen mit bytesTotal verwenden, können Sie einschätzen, wie weit der Zwischenspeicher belegt ist — um beispielsweise eine Rückmeldung für einen Benutzer anzuzeigen, der darauf wartet, dass Daten in den Zwischenspeicher geladen werden.
public function get bytesLoaded():uint Siehe auch
| bytesTotal | Eigenschaft |
bytesTotal:uint [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Gesamtgröße (in Byte) der in Flash Player geladenen Datei.
public function get bytesTotal():uint Siehe auch
| checkPolicyFile | Eigenschaft |
checkPolicyFile:Boolean [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt an, ob vor dem Laden der Videodatei versucht werden soll, eine domänenübergreifende Richtliniendatei vom Server der Videodatei herunterzuladen. Diese Eigenschaft wird angewendet, wenn Sie ein NetStream-Objekt für den progressiven Video-Download (eigenständige Dateien) verwenden oder Dateien laden, die sich außerhalb der Domäne der aufrufenden SWF-Datei befinden. Diese Eigenschaft wird ignoriert, wenn Sie ein NetStream-Objekt verwenden, um einen RTMP-Bestand abzurufen.
Setzen Sie diese Eigenschaft auf true, wenn Sie eine Videodatei laden, die sich außerhalb der Domäne der aufrufenden SWF-Datei befindet und Sie die Methode BitmapData.draw() für Zugriff auf Pixelebene auf das Video verwenden müssen. Wenn Sie BitmapData.draw() aufrufen, ohne die Eigenschaft checkPolicyFile zum Ladezeitpunkt auf true zu setzen, wird möglicherweise eine SecurityError-Ausnahme ausgelöst, da die erforderliche Richtliniendatei nicht heruntergeladen wurde.
Wenn kein Zugriff auf Pixelebene auf das zu ladende Video erforderlich ist, setzen Sie checkPolicyFile nicht auf true. Durch die Suche nach einer Richtliniendatei wird Netzwerkbandbreite belegt und der Start des Download-Vorgangs möglicherweise verzögert.
Wenn Sie die Methode NetStream.play() aufrufen und checkPolicyFile auf true gesetzt ist, muss in Flash Player vor dem Herunterladen des im NetStream.play()-Aufruf angegebenen Objekts entweder eine entsprechende domänenübergreifende Richtlinie erfolgreich heruntergeladen werden, oder es muss festgestellt werden, dass keine Richtliniendatei vorhanden ist. In Flash Player werden die folgenden Aktionen in der angegebenen Reihenfolge ausgeführt, um zu überprüfen, ob eine Richtliniendatei vorhanden ist:
Security.loadPolicyFile()-Methode angegeben wurden.NetStream.play() übergebenen URL entspricht, d. h. /crossdomain.xml auf dem gleichen Server wie die URL.In allen Fällen muss eine entsprechende Richtliniendatei auf dem Server des Videos vorhanden sein, über die anhand ihres Speicherorts auf das Objekt unter der an play() übergebenen URL zugegriffen werden kann und über die die Domäne der aufrufenden SWF-Datei über mindestens ein <allow-access-from>-Tag auf das Video zugreifen kann.
Wenn Sie checkPolicyFile auf true setzen, wird das Video in Flash Player erst geladen, nachdem die Richtliniendatei überprüft wurde. Warten Sie mit dem Ausführen von Vorgängen auf Pixelebene (z. B. Aufrufen von BitmapData.draw()), bis Sie onMetaData- oder NetStatus-Ereignisse von Ihrem NetStream-Objekt erhalten.
Wenn Sie checkPolicyFile auf true setzen, jedoch keine entsprechende Richtliniendatei gefunden wird, wird eine Fehlermeldung erst dann ausgegeben, wenn Sie einen Vorgang durchführen, der eine Richtliniendatei erfordert. Dann wird in Flash Player eine SecurityError-Ausnahme ausgegeben.
Beim Herunterladen einer Videodatei von einer URL, bei der serverseitige HTTP-Weiterleitungen verwendet werden, müssen Sie darauf achten, checkPolicyFile richtig zu verwenden. Flash Player versucht, Richtliniendateien abzurufen, die der ursprünglichen in NetStream.play() angegebenen URL entsprechen. Wenn die endgültige Videodatei aufgrund von HTTP-Weiterleitungen von einer anderen URL stammt, gelten die ursprünglich heruntergeladenen Richtliniendateien möglicherweise nicht für die endgültige URL der Videodatei. Dies ist jedoch die URL, die bei Sicherheitsentscheidungen von Bedeutung ist.
Weitere Informationen zu Richtliniendateien finden Sie im Kapitel "Sicherheitsaspekte im Flash Player" im Handbuch Programmieren mit ActionScript 3.0.
public function get checkPolicyFile():Boolean public function set checkPolicyFile(value:Boolean):void Siehe auch
| client | Eigenschaft |
client:Object [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt das Objekt an, bei dem Rückrufmethoden aufgerufen werden. Standardeinstellung ist das erstellte NetStream-Objekt this. Wenn Sie die client-Eigenschaft auf ein anderes Objekt einstellen, werden die Rückrufmethoden bei dem eingestellten Objekt aufgerufen.
public function get client():Object public function set client(value:Object):void TypeError — Die client-Eigenschaft muss auf ein Objekt eingestellt werden, das nicht null ist.
|
| currentFPS | Eigenschaft |
currentFPS:Number [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Zahl der pro Sekunde angezeigten Bilder. Wenn Sie Videodateien für die Wiedergabe auf verschiedenen Systemen exportieren, können Sie mithilfe dieses Werts beim Testen bestimmen, wie stark die exportierte Datei komprimiert werden soll.
public function get currentFPS():Number | liveDelay | Eigenschaft |
liveDelay:Number [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Datenmenge (in Sekunden) im Zwischenspeicher des abonnierenden Streams im Live-Modus (ohne Puffer). Diese Eigenschaft gibt die aktuelle Netzwerkübertragungsverzögerung an.
Diese Eigenschaft ist für die Verwendung mit einem Server wie Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.
Mit dem Wert dieser Eigenschaft können Sie die Übertragungsqualität des Streams grob einschätzen und dem Benutzer mitteilen.
public function get liveDelay():Number | objectEncoding | Eigenschaft |
objectEncoding:uint [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Objektcodierung (AMF-Version) für dieses NetStream-Objekt. Der objectEncoding-Wert für das NetStream-Objekt wird von dem zugehörigen NetConnection-Objekt übernommen. Es ist wichtig, die Funktionsweise dieser Eigenschaft zu kennen, wenn die Kommunikation der ActionScript 3.0-SWF-Datei mit Servern erforderlich ist, die eine ältere Version als Flash Player 9 aufweisen. Weitere Informationen finden Sie in der Beschreibung der Eigenschaft objectEncoding in der NetConnection-Klasse.
Der Wert dieser Eigenschaft hängt davon ab, ob es sich um einen lokalen oder einen Remote-Stream handelt. Lokale Streams, bei denen null an die Methode NetConnection.connect() übergeben wurde, geben den Wert NetConnection.defaultObjectEncoding zurück. Remote-Streams, bei denen Sie eine Verbindung zu einem Server herstellen, geben die Objektcodierung der Serververbindung zurück.
Wenn Sie versuchen, diese Eigenschaft ohne Verbindung zu lesen oder diese Eigenschaft zu ändern, gibt Flash Player eine Ausnahme aus.
public function get objectEncoding():uint Siehe auch
| soundTransform | Eigenschaft |
soundTransform:SoundTransform [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Steuert den Sound in diesem NetStream-Objekt. Weitere Informationen hierzu finden Sie im Abschnitt zur SoundTransform-Klasse.
public function get soundTransform():SoundTransform public function set soundTransform(value:SoundTransform):void Siehe auch
| time | Eigenschaft |
time:Number [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Position des Abspielkopfs in Sekunden.
Flash Media Server Für einen veröffentlichenden Stream die Anzahl der Sekunden, die der Stream bereits abgespielt wurde. Für einen veröffentlichenden Stream die Anzahl der Sekunden, die der Stream veröffentlicht hat. Die Zahl ist bis zur Tausenderdezimalstelle genau; multiplizieren Sie sie mit 100, um die Anzahl der Millisekunden zu erhalten, die der Stream bereits abgespielt wurde.
Für einen abonnierenden Stream wird der Wert von time nicht mehr erhöht, wenn der Server aufhört, Daten zu senden, der Stream jedoch geöffnet bleibt. Wenn der Server wieder beginnt, Daten zu senden, wird der Wert weiter erhöht ab dem Zeitpunkt, zu dem das Senden beendet wurde, plus der verstrichenen Zeit, zu der keine Daten gesendet wurden.
Der Wert von time wird weiter erhöht, wenn der Stream von einem Element der Wiedergabeliste zu einem anderen wechselt. Diese Eigenschaft wird auf 0 gesetzt, wenn NetStream.play() aufgerufen wird und dabei reset den Wert 1 oder true aufweist, oder wenn NetStream.close() aufgerufen wird.
public function get time():Number Siehe auch
| NetStream | () | Konstruktor |
public function NetStream(connection:NetConnection)
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt einen Stream, der zum Wiedergeben von Videodateien durch das angegebene NetConnection-Objekt verwendet werden kann.
Informationen zu unterstützten Codecs und Dateiformaten finden Sie unter http://www.adobe.com/go/hardware_scaling_de und in der Flash Media Server-Dokumentation.
Parameterconnection:NetConnection — Ein NetConnection-Objekt.
|
ArgumentError — Die NetConnection-Instanz ist nicht verbunden.
|
Siehe auch
| attachAudio | () | Methode |
public function attachAudio(microphone:Microphone):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt einen über das NetStream-Objekt gesendeten Audio-Stream an, wobei das Microphone-Objekt als Quelle übergeben wurde. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar.
Die attachAudio-Methode ist für die Verwendung mit Flash Media Server konzipiert. Diese Methode wird häufig von einem Benutzer aufgerufen, der Live-Audio (oder Live-Video mit Audio) von einem Client-Computer an den Server sendet.
Sie können diese Methode vor oder nach dem Aufruf der Methode publish() zum Starten der Übertragung aufrufen. Abonnenten, die die Audiodaten wiedergeben möchten, müssen die Methode NetStream.play() aufrufen. Sie können die Soundeigenschaften dieses Audio-Streams über die Eigenschaft soundTransform des angegebenen Microphone-Objekts steuern.
Parameter
microphone:Microphone — Die Quelle des zu übertragenden Audio-Streams.
|
Siehe auch
| attachCamera | () | Methode |
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Startet die Erfassung der Videodaten von einer Kamera bzw. stoppt die Erfassung, wenn theCamera auf null gesetzt ist. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar.
Diese Methode ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.
Nachdem Sie die Videoquelle angehängt haben, müssen Sie NetStream.publish() aufrufen, um die Übertragung zu starten. Um die Videodaten wiederzugeben, müssen Abonnenten die Methoden NetStream.play() und Video.attachCamera() zur Anzeige des Videos auf der Bühne aufrufen.
Mit snapshotMilliseconds können Sie einen einzelnen Schnappschuss (durch Angabe des Werts "0") oder eine Reihe von Schnappschüssen - die zusammen ein Zeitraffer-Video ergeben - senden. Hierzu geben Sie einen positiven Wert an, der dem Videofeed einen Nachspann anhängt, dessen Dauer der angegebenen Zahl in Millisekunden entspricht. Die Anzeigezeit wird um den Nachspann verlängert. Durch das wiederholte Aufrufen von attachCamera() mit einem positiven Wert für snapshotMilliseconds wird durch die abwechselnde Abfolge von Schnappschüssen und Nachspann ein Zeitraffer-Effekt erzielt. Sie können beispielsweise ein Bild pro Tag erfassen und an eine Videodatei anhängen. Wenn ein Abonnent die Datei wiedergibt, wird jedes Bild für die Dauer der angegebenen Anzahl an Millisekunden angezeigt.
Der Parameter snapshotMilliseconds hat nicht denselben Zweck wie der Parameter fps, den Sie mit Camera.setMode() festlegen können. Durch die Angabe von snapshotMilliseconds steuern Sie, wie viel Zeit zwischen den aufgezeichneten Bildern verstreicht. Durch Angabe von fps mit Camera.setMode() steuern Sie, wie viel Zeit zwischen Aufnahme und Wiedergabe verstreicht.
Beispiel: Sie möchten für insgesamt 100 Schnappschüsse alle fünf Minuten einen Schnappschuss erstellen. Hierzu haben Sie zwei Möglichkeiten:
NetStream.attachCamera(myCamera, 500) ausführen, einmal alle fünf Minuten. So dauert die Aufnahme 500 Minuten, die Wiedergabe der Datei jedoch nur 50 Sekunden (100 Bilder mit 500 Millisekunden pro Bild).Camera.setMode() mit einem fps-Wert von 1/300 (1 Bild alle 300 Sekunden, d. h. alle fünf Minuten) und anschließend den Befehl NetStream.attachCamera(source) ausführen, wobei die Kamera 500 Minuten fortlaufend aufzeichnet. Die Wiedergabe der fertigen Datei dauert 500 Minuten — dieselbe Dauer wie für die Aufnahme — und jedes Bild wird fünf Minuten lang angezeigt.Bei beiden Methoden werden dieselben 500 Bilder erfasst, und beide Ansätze sind nützlich. Es hängt hauptsächlich von Ihren Wiedergabeanforderungen ab, welcher Ansatz für Sie geeigneter ist. Im zweiten Fall hätten Sie beispielsweise die Möglichkeit, über den gesamten Zeitraum Audiodaten aufzuzeichnen. Darüber hinaus haben die beiden Dateien etwa dieselbe Größe.
Parameter
theCamera:Camera — Die Quelle der Videoübertragung. Gültige Werte sind ein Camera-Objekt (das die Erfassung der Videodaten startet) und null. Wenn Sie null übergeben, stoppt Flash Player die Erfassung, und alle weiteren gesendeten Parameter werden ignoriert.
|
|
snapshotMilliseconds:int (default = -1) — Gibt an, ob es sich um einen kontinuierlichen Video-Stream, ein einzelnes Bild oder eine Reihe einzelner Bilder zur Erstellung von Zeitraffer-Material handelt.
|
| close | () | Methode |
public function close():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Stoppt die Wiedergabe der Daten im Stream, legt für die Eigenschaft time den Wert 0 fest und macht den Stream für andere Verwendungszwecke verfügbar. Durch diese Methode wird auch die lokale Kopie einer Videodatei gelöscht, die über HTTP heruntergeladen wurde. Auch wenn Flash Player die lokale Kopie der erstellten Datei löscht, verbleibt möglicherweise eine Kopie im Cache-Verzeichnis des Browsers. Wenn Sie die Cache- oder lokale Speicherung der Videodatei vollständig vermeiden möchten, verwenden Sie Flash Media Server.
Wenn Sie Flash Media Server verwenden, wird diese Methode implizit aufgerufen, wenn Sie NetStream.play() von einem veröffentlichenden Stream bzw. NetStream.publish() von einem abonnierenden Stream aufrufen. Bitte beachten Sie Folgendes:
close() von einem veröffentlichenden Stream aufgerufen wird, stoppt der Stream die Veröffentlichung, und der Herausgeber kann den Stream jetzt für andere Zwecke verwenden. Abonnenten erhalten nichts mehr, das im Stream veröffentlicht wurde, da der Stream die Veröffentlichung beendet hat.
close() von einem abonnierenden Stream aufgerufen wird, wird das Abspielen des Streams für den Abonnenten gestoppt, und der Abonnent kann den Stream für andere Zwecke verwenden. Andere Abonnenten sind davon nicht betroffen.
flash.net.NetStream.play(false) verwenden.
Siehe auch
| pause | () | Methode |
public function pause():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Hält die Wiedergabe eines Video-Streams an. Wenn die Wiedergabe bereits angehalten wurde, hat der Aufruf dieser Methode keine Auswirkung. Rufen Sie resume() auf, um ein angehaltenes Video weiter abzuspielen. Rufen Sie togglePause(), um zwischen dem Anhalten und Abspielen (erst anhalten, dann weiter abspielen) des Videos umzuschalten.
Siehe auch
| play | () | Methode |
public function play(... arguments):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Startet die Wiedergabe von Videodateien.
Informationen zu unterstützten Codecs und Dateiformaten finden Sie unter http://www.adobe.com/go/hardware_scaling_de und in der Flash Media Server-Dokumentation.
Zum Anzeigen von Videodaten müssen Sie ein Videoobjekt erstellen und die Methode Video.attachNetStream() aufrufen, wobei das Audio-Streaming zusammen mit den Videodaten erfolgt oder eine Videodatei, die nur Audiodaten enthält, automatisch abgespielt wird. Verwenden Sie für das Audio-Streaming von einem Mikrofon die Methode NetStream.attachAudio(), und steuern Sie einige Aspekte der Audiodaten durch das Microphone-Objekt.
Wenn Sie die mit einer Videodatei verknüpften Audiodaten steuern möchten, können Sie sie mit der Methode DisplayObjectContainer.addChild() einem Objekt in der Anzeigeliste zuordnen und dann ein Sound-Objekt zum Steuern einiger Aspekte der Audiodaten erstellen. Weitere Informationen hierzu finden Sie im Abschnitt zur Methode DisplayObjectContainer.addChild().
Wenn die Videodatei nicht gefunden wird, wird das Ereignis netStatus ausgelöst. Verwenden Sie die Methode close(), um die Wiedergabe eines Streams zu stoppen.
Wenn Sie diese Methode ohne Flash Media Server verwenden, sollten Sie das Flash Player-Sicherheitsmodell in Betracht ziehen. Von einer SWF-Datei in der lokalen vertrauenswürdigen Sandbox oder der lokalen Sandbox mit Netzwerkzugang kann eine Videodatei von der Remote-Sandbox geladen und wiedergegeben werden. Der Zugriff auf die Remote-Datei ist jedoch nur möglich, wenn eine ausdrückliche Genehmigung in Form einer domänenübergreifenden Richtliniendatei vorliegt. Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie in der HTML-Seite, die den SWF-Inhalt enthält, den Parameter allowNetworking der Tags object und embed festlegen.
Weitere Informationen finden Sie in den folgenden Abschnitten:
Netstream.checkPolicyFile.Parameter
... arguments — Der Speicherort der wiederzugebenden Videodatei, z. B. ein URLRequest-Objekt oder ein String. Sie können lokale Videodateien wiedergeben, die in demselben Verzeichnis wie die SWF-Datei oder in einem Unterverzeichnis gespeichert sind, aber es ist nicht möglich, zu einem übergeordneten Verzeichnis zu navigieren.
Flash Media Server Um Videodateien auf Flash Media Server abzuspielen, geben Sie den Namen des Streams ohne Dateierweiterung an (zum Beispiel
Mit Flash Media Server verwendet
|
SecurityError — Über lokale nicht vertrauenswürdige SWF-Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können diese Einschränkung umgehen, indem Sie die entsprechende SWF-Datei als lokal mit Netzwerkzugang oder als vertrauenswürdig klassifizieren.
|
|
ArgumentError — Es muss mindestens ein Parameter angegeben werden.
|
|
Error — Das NetStream-Objekt ist ungültig. Dies kann an einer fehlgeschlagenen NetConnection liegen.
|
Siehe auch
ns.play("record1", 0, 100, true);
ns.play("stephen");
| publish | () | Methode |
public function publish(name:String = null, type:String = null):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sendet einen Stream mit Audiodaten, Videodaten und Textnachrichten von einem Client an Flash Media Server. Der Stream kann während der Übertragung aufgezeichnet werden. Diese Methode ist nur für den Herausgeber des angegebenen Streams verfügbar.
Verwenden Sie diese Methode nicht, um auf einem Client einen Stream wiederzugeben, der bereits veröffentlicht und aufgezeichnet wurde. Erstellen Sie stattdessen eine NetStream-Instanz für diesen Client, und rufen Sie die Methode play() auf:
var subscribeNS:NetStream = new NetStream(myNetConnection);
subscribeNS.play("streamToPlay");
Wenn Sie einen Stream mit Flash Media Server aufzeichnen, erstellt der Server eine Datei und speichert sie in einem Unterverzeichnis unter dem Anwendungsverzeichnis des Servers. Jeder Stream wird in einem Verzeichnis gespeichert, dessen Name mit dem Instanznamen der Anwendung übereinstimmt, der an NetConnection.connect() übergeben wird. Der Server erstellt diese Verzeichnisse automatisch, sodass Sie nicht für jede Anwendungsinstanz manuell ein Verzeichnis erstellen müssen. Beispiel: Anhand des folgenden Codes wird gezeigt, wie Sie eine Verbindung zu einer bestimmten Instanz einer Anwendung herstellen, die im Anwendungsverzeichnis in einem Unterverzeichnis mit dem Namen "lectureSeries" gespeichert ist. Eine Datei mit dem Namen "lecture.flv" ist in einem Unterverzeichnis mit dem Namen "/yourAppsFolder/lectureSeries/streams/Monday" gespeichert:
var myNC:NetConnection = new NetConnection();
myNC.connect("rtmp://server.domain.com/lectureSeries/Monday");
var myNS:NetStream = new NetStream(myNC);
myNS.publish("lecture", "record");
Das folgende Beispiel zeigt, wie Sie eine Verbindung zu einer anderen Instanz derselben Anwendung herstellen, wobei Sie denselben Befehl zum Veröffentlichen ausgeben. Eine Datei mit dem Namen "lecture.flv" ist in einem Unterverzeichnis mit dem Namen "/yourAppsFolder/lectureSeries/streams/Tuesday" gespeichert.
var myNC:NetConnection = new NetConnection();
myNC.connect("rtmp://server.domain.com/lectureSeries/Tuesday");
var myNS:NetStream = new NetStream(my_nc);
myNS.publish("lecture", "record");
Wenn Sie keinen Wert für den Instanznamen angeben, wird der an die name-Eigenschaft übergebene Wert im Unterverzeichnis "/yourAppsFolder/appName/streams/_definst_" verwendet ("definst" steht für "Standardinstanz"). Weitere Informationen zum Verwenden von Instanznamen finden Sie im Abschnitt zur Methode NetConnection.connect(). Informationen zur Wiedergabe von Videodateien finden Sie im Abschnitt zur Methode NetStream.play().
Wenn ein Flash Media Server-Anwendungs-Client publish() aufruft, erhält die Anwendung ein onPublish-Ereignis. Die Anwendung muss das Ereignis in einem serverseitigen Skript verarbeiten. Wenn der Client die Veröffentlichung stoppt, erhält die Anwendung ein onUnpublish-Ereignis. Weitere Informationen finden Sie im Handbuch Flash Media Server Server-Side ActionScript Language Reference.
Diese Methode kann ein netStatus-Ereignis mit verschiedenen Informationsobjekten auslösen. Beispiel: Wenn jemand bereits über einen Stream mit dem angegebenen Namen veröffentlicht, wird das Ereignis netStatus mit der Code-Eigenschaft NetStream.Publish.BadName ausgelöst. Weitere Informationen hierzu finden Sie im Abschnitt zum Ereignis netStatus.
Parameter
name:String (default = null) — Ein String, der den Stream identifiziert. Wenn Sie false übergeben, wird der Veröffentlichungsvorgang gestoppt. Clients, die diesen Stream abonnieren, müssen beim Aufruf von NetStream.play() diesen Namen übergeben. Sie müssen keine Dateierweiterung für den Stream-Namen angeben. Setzen Sie keinen Schrägstrich, "/", hinter den Stream-Namen. Verwenden Sie zum Beispiel nicht den Stream-Namen "bolero/".
|
|
type:String (default = null) — Ein String, der angibt, wie der Stream veröffentlicht wird. Gültige Werte sind "record", "append" und "live". Der Standardwert ist "live".
|
Siehe auch
| receiveAudio | () | Methode |
public function receiveAudio(flag:Boolean):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden. Diese Methode ist nur für Clients verfügbar, die diesen Stream abonniert haben, nicht für den Herausgeber des Streams.
Diese Methode ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.
Sie können diese Methode vor oder nach dem Aufruf der Methode NetStream.play() zum Starten des Empfangs aufrufen. Sie haben beispielsweise die Möglichkeit, diese Methoden mit einer Schaltfläche zu verknüpfen, auf die der Benutzer klicken kann, um den Ton für den eingehenden Audio-Stream ein- bzw. auszuschalten.
Wenn der angegebene Stream nur Audiodaten enthält, wird durch die Übergabe des Werts false an diese Methode der Wert für NetStream.time nicht weiter erhöht.
Parameter
flag:Boolean — Gibt an, ob eingehende Audiodaten im Stream wiedergegeben werden (true) oder nicht (false). Der Standardwert ist true.
|
| receiveVideo | () | Methode |
public function receiveVideo(flagOrFPS:*):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt an, ob eingehende Videodaten im Stream wiedergegeben werden. Diese Methode ist nur für Clients verfügbar, die diesen Stream abonniert haben, nicht für den Herausgeber des Streams.
Diese Methode ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse.
Sie können diese Methode vor oder nach dem Aufruf der Methode NetStream.play() zum Starten des Empfangs aufrufen. Sie haben beispielsweise die Möglichkeit, diese Methoden mit einer Schaltfläche zu verknüpfen, auf die der Benutzer klicken kann, um den eingehenden Video-Stream ein- bzw. auszublenden.
Wenn der angegebene Stream nur Videodaten enthält, wird durch die Übergabe des Werts false an diese Methode der Wert für NetStream.time nicht weiter erhöht.
Parameter
flagOrFPS:* — Gibt an, ob eingehende Audiodaten in diesem Stream wiedergegeben werden (true) oder nicht (false). Der Standardwert ist true. Sie können die Bildrate pro Sekunde des eingehenden Videos auch mit einer Ganzzahl angeben. Wenn Sie keine Bildrate angeben, wird standardmäßig die Bildrate des aufgezeichneten oder Live-Videos, das abgespielt wird, verwendet.
|
| resume | () | Methode |
public function resume():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Setzt die Wiedergabe eines angehaltenen Video-Streams fort. Wenn die Wiedergabe bereits läuft, hat der Aufruf dieser Methode keine Auswirkung.
Siehe auch
| seek | () | Methode |
public function seek(offset:Number):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sucht das Schlüsselbild (in der Videobranche auch "I-Frame" genannt), das der angegebenen Positionen am nächsten ist. Das Schlüsselbild wird mit einem Offset (einer Verschiebung) in Sekunden ab dem Beginn des Streams platziert.
Video-Streams werden normalerweise mit zwei Arten von Bildern kodiert: Schlüsselbildern (oder I-Frames) und P-Frames. Ein Schlüsselbild enthält ein gesamtes Bild, während ein P-Frame ein Zwischenbild ist, das zusätzliche Videoinformationen zwischen Schlüsselbildern bietet. Ein Video-Stream enthält in der Regel alle 10 bis 50 Bilder ein Schlüsselbild.
Auf Flash Media Server wird das Verhalten von seek() vom Wert des EnhancedSeek-Elements in der Konfigurationsdatei Application.xml gesteuert.
Wenn EnhancedSeek den Wert false hat, verwendet der Server den normalen Suchmodus. Im normalen Suchmodus startet der Server das Streaming vom nächsten Schlüsselbild. Wenn ein Video zum Beispiel bei 0 und 10 Sekunden ein Schlüsselbild aufweist, bewirkt ein Suchlauf bis 4 Sekunden, dass die Wiedergabe (unter Verwendung des Schlüsselbilds bei 0 Sekunden) bei 4 Sekunden beginnt. Das Video bleibt stehen, bis das nächste Schlüsselbild bei 10 Sekunden erreicht wird. Um bessere Suchläufe zu erzielen, müssen Sie das Schlüsselbildintervall verringern. Im normalen Suchmodus können Sie das Video nicht an einem Punkt zwischen den Schlüsselbildern starten.
Wenn EnhancedSeek den Wert true aufweist (dies ist der Standardwert), generiert der Server ein neues Schlüsselbild bei offset, basierend auf dem vorherigen Schlüsselbild und ggf. dazwischenliegenden P-Frames. Dadurch wird auf dem Server jedoch eine hohe Verarbeitungslast erzeugt, und im generierten Schlüsselbild kann es zu Verzerrungen kommen. Wenn der Videocodec On2 verwendet wird, werden das Schlüsselbild vor dem Suchpunkt sowie alle P-Frames zwischen dem Schlüsselbild und dem Suchpunkt an den Client gesendet.
Parameter
offset:Number — Der ungefähre Zeitpunkt in Sekunden, zu dem der Abspielkopf in einer Videodatei verschoben werden soll. Wenn bei Verwendung von Flash Media Server <EnhancedSeek> in der Konfigurationsdatei Application.xml auf den Wert true gesetzt wird, generiert der Server ein Schlüsselbild bei offset.
|
Siehe auch
| send | () | Methode |
public function send(handlerName:String, ... arguments):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Sendet eine Nachricht an alle Clients mit Abonnement über den veröffentlichten Stream. Diese Methode steht nur dem Herausgeber des angegebenen Streams zur Verfügung und ist für die Verwendung mit Flash Media Server konzipiert. Erstellen Sie eine Prozedur für das NetStream-Objekt, zum Beispiel ns.HandlerName, um diese Meldung zu verarbeiten und darauf zu reagieren.
Methoden und ihre Daten, Objektprototypvariablen und nicht zählbare Variablen werden in Flash Player nicht serialisiert. Zur Anzeige von Objekten wird lediglich der Pfad serialisiert.
Durch einen Aufruf der send()-Methode können Sie einem Live-Stream, der an Flash Media Server gesendet wird, Datenschlüsselbilder hinzufügen. Ein Datenschlüsselbild ist eine Meldung, die ein Herausgeber einem Live-Stream hinzufügt. Datenschlüsselbilder werden im Allgemeinen verwendet, um einem Live-Stream Metadaten hinzuzufügen, bevor die Daten von Kamera und Mikrofon für den Stream erfasst werden. Ein Herausgeber kann jederzeit ein Datenschlüsselbild hinzufügen, während der Live-Stream veröffentlicht wird. Das Datenschlüsselbild wird im Speicher des Servers gespeichert, solange der Herausgeber mit dem Server verbunden ist.
Clients, die den Live-Stream vor dem Hinzufügen eines Datenschlüsselbilds abonniert haben, erhalten das Schlüsselbild sobald es hinzugefügt wurde. Clients, die den Live-Stream nach dem Hinzufügen eines Datenschlüsselbilds abonnieren, erhalten das Schlüsselbild sobald sie den Stream abonnieren.
Um einem Live-Stream, der an Flash Media Server gesendet wird, ein Schlüsselbild mit Metadaten hinzuzufügen, verwenden Sie @setDataFrame als Prozedurnamen, gefolgt von zwei zusätzlichen Argumenten, zum Beispiel:
var ns:NetStream = new NetStream(nc);
ns.send("@setDataFrame", "onMetaData", metaData);
Das Argument @setDataFrame verweist auf eine spezielle Prozedur, die in Flash Media Server integriert ist. Das Argument onMetaData ist der Name einer Callback-Funktion in Ihrer Client-Anwendung, die auf das onMetaData-Ereignis wartet und die Metadaten abruft. Das dritte Element, metaData, ist eine Instanz von Object oder Array mit Eigenschaften, die die Metadatenwerte definieren. Herausgeber sollten Eigenschaftennamen vorgeben, die für Abonnenten leicht verständlich sind. Eine Liste mit Vorschlägen für Eigenschaftennamen finden Sie in der Flash Media Server-Dokumentation.
Mit @clearDataFrame löschen Sie ein Schlüsselbild mit Metadaten, das bereits im Stream gesendet wurde:
ns.send("@clearDataFrame", "onMetaData");
Parameter
handlerName:String — Die zu sendende Nachricht, auch der Name der ActionScript-Prozedur für den Empfang der Nachricht. Der Prozedurname darf nur eine Ebene umfassen (d. h. die Form übergeordnet/untergeordnet ist nicht zulässig) und hängt vom Stream-Objekt ab. Verwenden Sie keine reservierten Begriffe als Prozedurnamen. Wenn Sie beispielsweise close als Prozedurnamen verwenden, schlägt die Methode fehl. Mit Flash Media Server verwenden Sie @setDataFrame, um einem Live-Stream ein Schlüsselbild mit Metadaten hinzuzufügen bzw. @clearDataFrame, um ein Schlüsselbild zu entfernen.
|
|
... arguments — Optionale Argumente beliebigen Typs. Diese werden serialisiert, über die Verbindung gesendet und von der Empfangsprozedur in derselben Reihenfolge empfangen. Wenn es sich bei dem Parameter um ein zyklisches Objekt handelt (z. B. eine verknüpfte zyklische Liste), werden die Verweise bei der Serialisierung korrekt verarbeitet. Wenn bei der Verwendung mit Flash Media Server @setDataFrame das erste Argument ist, verwenden Sie onMetaData als zweites Argument; für das dritte Argument übergeben Sie eine Instanz von Object oder Array, in der die Metadaten als Eigenschaften festgelegt wurden. Eine Liste mit vorgeschlagenen Eigenschaftennamen finden Sie in der Flash Media Server-Dokumentation. Mit @clearDataFrame als erstem Argument, verwenden Sie onMetaData als zweites Argument und kein drittes Argument.
|
Siehe auch
NetStream-Objekte erstellt. Eines veröffentlicht einen Live-Stream an den Server, während das andere den Stream abonniert.
package {
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.utils.setTimeout;
public class TestExample extends Sprite
{
var nc:NetConnection = new NetConnection();
var ns1:NetStream;
var ns2:NetStream;
var vid:Video = new Video(300,300);
var obj:Object = new Object();
public function TestExample() {
nc.objectEncoding = 0;
nc.addEventListener("netStatus", onNCStatus);
nc.connect("rtmp://localhost/FlashVideoApp");
addChild(vid);
}
function onNCStatus(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
trace("You've connected successfully");
ns1 = new NetStream(nc);
ns2 = new NetStream(nc);
ns1.client = new CustomClient();
ns1.publish("dummy", "live");
ns2.play("dummy");
ns2.client = new CustomClient();
vid.attachNetStream(ns2);
setTimeout(sendHello, 3000);
break;
case "NetStream.Publish.BadName":
trace("Please check the name of the publishing stream" );
break;
}
}
function sendHello():void {
ns1.send("myFunction", "hello");
}
}
}
class CustomClient {
public function myFunction(event:String):void {
trace(event);
}
}
private function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetStream.Publish.Start":
var metaData:Object = new Object();
metaData.title = "myStream";
metaData.width = 400;
metaData.height = 200;
ns.send("@setDataFrame", "onMetaData", metaData);
ns.attachCamera( Camera.getCamera() );
ns.attachAudio( Microphone.getMicrophone() );
}
}
onMetaData-Ereignisprozedur definieren. Die Ereignisprozedur onMetaData ist nicht bei addEventListener() registriert; es handelt sich vielmehr um eine Callback-Funktion mit dem Namen onMetaData, zum Beispiel:
public function onMetaData(info:Object):void {
trace("width: " + info.width);
trace("height: " + info.height);
}
// Create a NetStream for playing
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachNetStream(my_ns);
// Play the stream record1
my_ns.play("record1", 0, -1, true);
// Switch to the stream live1 and play for 5 seconds.
// Since reset is false, live1 will start to play after record1 is done.
my_ns.play("live1", -1, 5, false);
//To play at normal speed
var my_ns:NetStream = new NetStream(my_nc);
my_ns.play("log", 0, -1);
//To get the data messages all at once
my_ns.play("log", 0, -1, 3);
| togglePause | () | Methode |
public function togglePause():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Hält die Wiedergabe eines Streams an oder setzt sie fort. Beim ersten Aufruf dieser Methode wird die Wiedergabe angehalten und beim zweiten Aufruf fortgesetzt. Mit dieser Methode können Sie Benutzern ermöglichen, die Wiedergabe über dieselbe Schaltfläche anzuhalten und fortzusetzen.
Siehe auch
| asyncError | Ereignis |
flash.events.AsyncErrorEvent flash.events.AsyncErrorEvent.ASYNC_ERROR | Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird ausgelöst, wenn eine Ausnahme asynchron ausgelöst wird – das heißt, aus nativem asynchronem Code. Dieses Ereignis wird ausgelöst, wenn ein Server eine Methode auf einem Client aufruft, die nicht definiert ist.
Die KonstanteAsyncErrorEvent.ASYNC_ERROR definiert den Wert der type-Eigenschaft eines asyncError-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Objekt, bei dem der Netzwerkvorgang fehlschlägt. |
error | Der Fehler, der das Ereignis ausgelöst hat. |
Siehe auch
| ioError | Ereignis |
flash.events.IOErrorEvent flash.events.IOErrorEvent.IO_ERROR | Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird beim Auftreten eines Eingabe/Ausgabe-Fehlers ausgelöst, durch den ein Netzwerkvorgang fehlschlägt.
Definiert den Wert der Eigenschafttype eines ioError-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Das Netzwerkobjekt, bei dem der Eingabe/Ausgabe-Fehler auftritt. |
text | Der als Fehlermeldung anzuzeigende Text. |
| netStatus | Ereignis |
flash.events.NetStatusEvent flash.events.NetStatusEvent.NET_STATUS | Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird ausgelöst, wenn der Status oder die Fehlerbedingung eines NetStream-Objekts protokolliert wird. Das Ereignis netStatus enthält die Eigenschaft info. Dabei handelt es sich um ein Informationsobjekt mit spezifischen Informationen über das Ereignis, z. B., ob ein Verbindungsversuch erfolgreich war oder fehlgeschlagen ist.
type eines netStatus-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
info | Ein Objekt mit Eigenschaften, die den Status oder die Fehlerbedingung des Objekts beschreiben. |
target | Das NetConnection- oder NetStream-Objekt, dessen Status protokolliert wird. |
Siehe auch
| onCuePoint | Ereignis |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird aufgerufen, wenn bei der Wiedergabe einer Videodatei ein eingebetteter Cue-Point erreicht wird. Mit dieser Prozedur können Sie Aktionen im Code auslösen, wenn ein bestimmter Cue-Point im Video erreicht wird, sodass Sie andere Aktionen in der Anwendung mit Video-Wiedergabeereignissen synchronisieren können. Informationen zu den von Flash Media Server unterstützten Videodateiformaten finden Sie in der Flash Media Server-Dokumentation.
Dieses Ereignis ist für die Verwendung mit Flash Media Server konzipiert. Es ist nicht Teil der Flash Player-API, wurde jedoch der Überschaubarkeit halber in dieses Referenzhandbuch aufgenommen. Die Methode addEventListener() und sonstige EventDispatcher-Methoden können zur Überwachung und Verarbeitung dieses Ereignisses nicht verwendet werden. Stattdessen müssen Sie eine einzelne Rückruffunktion definieren und direkt an eines der folgenden Objekte anhängen:
client-Eigenschaft einer NetStream-Instanz verweist.Folgende Typen von Cue-Points können in eine Videodatei eingebettet werden:
time-Eigenschaft des Cue-Points exakt dem Schlüsselbild entspricht. Navigations-Cue-Points werden oft als Lesezeichen oder Eingangspunkte verwendet, anhand derer die Benutzer durch die Videodatei navigieren können.Das onCuePoint-Ereignisobjekt hat folgende Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
name | Der dem Cue-Point bei der Einbettung in die Videodatei zugewiesene Name. |
parameters | Ein assoziatives Array von Strings mit Name/Wert-Paaren, die für diesen Cue-Point angegeben wurden. Für Name und Wert des Parameters können beliebige Strings verwendet werden. |
time | Die Angabe des Zeitpunkts in Sekunden, zu dem der Cue-Point während der Wiedergabe im Video auftritt. |
type | Der Typ des erreichten Cue-Points (Navigation oder Ereignis). |
Sie können Cue-Points beim ersten Kodieren der Videodatei oder beim Importieren eines Videoclips in das Flash-Authoring-Tool mit dem Videoimportassistenten einfügen.
Das Ereignis onMetaData ruft auch Informationen über die Cue-Points in einer Videodatei ab. Das Ereignis onMetaData ruft jedoch Informationen über alle Cue-Points ab, bevor die Wiedergabe des Videos gestartet wird. Das Ereignis onCuePoint ruft dagegen Informationen über einen einzelnen Cue-Point zu dem für diesen Cue-Point festgelegten Zeitpunkt während der Wiedergabe ab.
Wenn Sie bei einem bestimmten Cue-Point zu dem Zeitpunkt, zu dem er in der Wiedergabe auftritt, eine Aktion im Code auslösen möchten, verwenden Sie das Ereignis onCuePoint.
Mit der für das Ereignis onMetaData bereitgestellten Liste von Cue-Points können Sie den Benutzern ermöglichen, die Wiedergabe an vordefinierten Punkten im Video-Stream zu starten. Übergeben Sie den Wert der time-Eigenschaft des Cue-Point an die Methode NetStream.seek(), um die Wiedergabe des Videos ab diesem Cue-Point zu starten.
Siehe auch
| onMetaData | Ereignis |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird ausgelöst, wenn Flash Player in der wiedergegebenen Videodatei eingebettete beschreibende Informationen empfängt. Informationen zu den von Flash Media Server unterstützten Videodateiformaten finden Sie in der Flash Media Server-Dokumentation.
Dieses spezielle Ereignis ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse. Es ist nicht Teil der Flash Player-API, wurde jedoch der Überschaubarkeit halber in dieses Referenzhandbuch aufgenommen. Die Methode addEventListener() und sonstige EventDispatcher-Methoden können zur Überwachung und Verarbeitung dieses Ereignisses nicht verwendet werden. Stattdessen müssen Sie eine einzelne Rückruffunktion definieren und direkt an eines der folgenden Objekte anhängen:
client-Eigenschaft einer NetStream-Instanz verweist.Das Dienstprogramm Flash Video Exporter (ab Version 1.1) bettet die Dauer, das Erstellungsdatum, die Datenrate und andere Angaben in die Videodatei selbst ein. Von anderen Videocodierern werden andere Metadaten eingebettet.
Dieses Ereignis wird nach dem Aufruf der Methode NetStream.play(), aber noch vor dem Vorlauf des Abspielkopfes ausgelöst.
Häufig ist die in den Stream-Metadaten eingebettete Längenangabe nur ein ungefährer Wert. Das bedeutet, dass dieser Wert nicht immer mit dem Wert der Eigenschaft NetStream.time übereinstimmt, wenn der Abspielkopf das Ende des Video-Streams erreicht hat.
Siehe auch
| onPlayStatus | Ereignis |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wird ausgelöst, wenn ein NetStream-Objekt einen Stream vollständig wiedergegeben hat. Diese Prozedur gibt Informationsobjekte zurück, die zusätzliche Informationen zu den vom Ereignis netStatus zurückgegebenen Informationen bereitstellen. Mit dieser Prozedur können Sie im Code Aktionen auslösen, wenn ein NetStream-Objekt von einem Stream zu einem anderen Stream in einer Wiedergabeliste wechselt (wie vom Informationsobjekt NetStream.Play.Switch angegeben) oder wenn ein NetStream-Objekt die Wiedergabe bis zum Ende ausgeführt hat (wie vom Informationsobjekt NetStreamPlay.Comlete angegeben). Um auf dieses Ereignis zu reagieren, müssen Sie eine Funktion zur Verarbeitung des vom Server gesendeten Informationsobjekts erstellen.
Dieses Ereignis ist für die Verwendung mit Flash Media Server konzipiert. Weitere Informationen finden Sie in der Beschreibung der Klasse. Es ist nicht Teil der Flash Player-API, wurde jedoch der Überschaubarkeit halber in dieses Referenzhandbuch aufgenommen. Die Methode addEventListener() und sonstige EventDispatcher-Methoden können zur Überwachung und Verarbeitung dieses Ereignisses nicht verwendet werden. Stattdessen müssen Sie eine einzelne Rückruffunktion definieren und direkt an eines der folgenden Objekte anhängen:
client-Eigenschaft einer NetStream-Instanz verweist.Dieses Ereignis kann ein Informationsobjekt mit den folgenden Eigenschaften zurückgeben:
| Code-Eigenschaft | Level-Eigenschaft | Bedeutung |
|---|---|---|
NetStream.Play.Switch | "status" | Der Abonnent wechselt von einem Stream zu einem anderen Stream in der Wiedergabeliste. |
NetStream.Play.Complete | "status" | Die Wiedergabe ist abgeschlossen. |
Siehe auch
videoURL übergebenen Variablen übereinstimmt. In diesem Fall ist das eine FLV-Datei mit dem Namen "Video.flv", die in dem Verzeichnis abgelegt ist, in dem sich die SWF-Datei befindet.
In diesem Fall wird der Code zur Erstellung des Video- und NetStream-Objekts und zum Aufrufen der Methoden Video.attachNetStream() und NetStream.play() in eine Prozedur-Funktion eingefügt. Die Prozedur wird nur aufgerufen, wenn die Verbindung mit dem NetConnection-Objekt erfolgreich hergestellt werden kann, d. h. wenn das Ereignis netStatus ein info-Objekt mit einer code-Eigenschaft zurückgibt, die Erfolg angibt. Es wird empfohlen, die erfolgreiche Verbindungsherstellung abzuwarten, bevor Sie NetStream.play() aufrufen.
package {
import flash.display.Sprite;
import flash.events.NetStatusEvent;
import flash.events.SecurityErrorEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.Event;
public class NetConnectionExample extends Sprite {
private var videoURL:String = "Video.flv";
private var connection:NetConnection;
private var stream:NetStream;
public function NetConnectionExample() {
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);
}
private function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + videoURL);
break;
}
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function connectStream():void {
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.client = new CustomClient();
var video:Video = new Video();
video.attachNetStream(stream);
stream.play(videoURL);
addChild(video);
}
}
}
class CustomClient {
public function onMetaData(info:Object):void {
trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
}
public function onCuePoint(info:Object):void {
trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/net/NetStream.html