Paketflash.net
Klassepublic class NetStream
VererbungNetStream Inheritance EventDispatcher Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die NetStream-Klasse öffnet eine Streaming-Verbindung in einer Richtung zwischen Flash Player und Flash Media Server bzw. zwischen Flash Player und dem lokalen Dateisystem. Ein NetStream-Objekt ist ein Kanal innerhalb eines NetConnection-Objekts. Dieser Kanal kann entweder unter Verwendung von 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:

  1. Erstellen Sie ein NetConnection-Objekt.
  2. Stellen Sie mit der Methode NetConnection.connect() eine Verbindung zu der Anwendungsinstanz auf dem Server her.
  3. Erstellen Sie ein NetStream-Objekt zur Erstellung eines Daten-Streams innerhalb dieser Verbindung.
  4. Verwenden Sie die Methode 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.
  5. Verwenden Sie die Methode 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.

Beispiele anzeigen

Siehe auch

flash.media.Video
flash.net.NetConnection
send()
onMetaData
Grundlagen der Verwendung von Videos


Öffentliche Eigenschaften
 EigenschaftDefiniert 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
 Inheritedconstructor : 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
 Inheritedprototype : 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
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt einen Stream, der zum Wiedergeben von Videodateien durch das angegebene NetConnection-Objekt verwendet werden kann.
NetStream
 Inherited
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
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
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
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
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
  
play(... arguments):void
Startet die Wiedergabe von Videodateien.
NetStream
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
publish(name:String = null, type:String = null):void
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
  
receiveVideo(flagOrFPS:*):void
Gibt an, ob eingehende Videodaten im Stream wiedergegeben werden.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
Setzt die Wiedergabe eines angehaltenen Video-Streams fort.
NetStream
  
seek(offset:Number):void
Sucht das Schlüsselbild (in der Videobranche auch "I-Frame" genannt), das der angegebenen Positionen am nächsten ist.
NetStream
  
send(handlerName:String, ... arguments):void
Sendet eine Nachricht an alle Clients mit Abonnement über den veröffentlichten Stream.
NetStream
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
Hält die Wiedergabe eines Streams an oder setzt sie fort.
NetStream
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 EreignisÜbersicht Definiert von
 Inherited 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
 Inherited 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
Eigenschaftsdetail
bufferLengthEigenschaft
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.


Implementierung
    public function get bufferLength():Number

Siehe auch

bufferTimeEigenschaft 
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.


Implementierung
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Siehe auch

bytesLoadedEigenschaft 
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.


Implementierung
    public function get bytesLoaded():uint

Siehe auch

bytesTotalEigenschaft 
bytesTotal:uint  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Gesamtgröße (in Byte) der in Flash Player geladenen Datei.


Implementierung
    public function get bytesTotal():uint

Siehe auch

checkPolicyFileEigenschaft 
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:

  1. Flash Player überprüft Richtliniendateien, die bereits heruntergeladen wurden.
  2. Flash Player versucht, ausstehende Richtliniendateien herunterzuladen, die in Aufrufen der Security.loadPolicyFile()-Methode angegeben wurden.
  3. Flash Player versucht, eine Richtliniendatei vom Standardspeicherort herunterzuladen, der der an 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.


Implementierung
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Siehe auch

clientEigenschaft 
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.


Implementierung
    public function get client():Object
    public function set client(value:Object):void

Auslöser
TypeError — Die client-Eigenschaft muss auf ein Objekt eingestellt werden, das nicht null ist.
currentFPSEigenschaft 
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.


Implementierung
    public function get currentFPS():Number
liveDelayEigenschaft 
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.


Implementierung
    public function get liveDelay():Number
objectEncodingEigenschaft 
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.


Implementierung
    public function get objectEncoding():uint

Siehe auch

soundTransformEigenschaft 
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.


Implementierung
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

Siehe auch

timeEigenschaft 
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.


Implementierung
    public function get time():Number

Siehe auch

Konstruktordetail
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.

Parameter
connection:NetConnection — Ein NetConnection-Objekt.

Auslöser
ArgumentError — Die NetConnection-Instanz ist nicht verbunden.

Siehe auch

Methodendetail
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:

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.
  • Wenn Sie diesen Parameter nicht angeben, erfasst Flash Player alle Videodaten, bis Sie den Wert null an attachCamera übergeben.
  • Bei Übergabe von "0" erfasst Flash Player nur ein einzelnes Videobild. Verwenden Sie diesen Wert, um "Schnappschüsse" innerhalb eines bereits vorhandenen Streams zu übertragen. Flash interpretiert ungültige, negative und nicht numerische Werte als "0".
  • Wenn Sie eine positive Zahl übergeben, wird ein einzelnes Videobild erfasst und dann eine Pause angefügt, deren Dauer dem Nachspann des Schnappschusses entspricht. Verwenden Sie diesen Wert, um Zeitraffer-Effekte zu erstellen.

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:

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:

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 bolero). Um MP3-Dateien abzuspielen, verwenden Sie mp3: vor dem Stream-Namen. Um die ID3-Tags von MP3-Dateien wiederzugeben, setzen Sie id3: vor den Stream-Namen.

Mit Flash Media Server verwendet play() die folgenden Argumente:

NameErforderlichBeschreibung
name:ObjectErforderlich Der Name einer aufgezeichneten Datei ohne Dateierweiterung, ein Kennzeichner für Live-Daten, die von NetStream.publish() veröffentlicht werden, oder false. Um MP3-Dateien abzuspielen, verwenden Sie mp3: vor dem Namen. Um den ID3-Tag einer MP3-Datei wiederzugeben, verwenden Sie id3: vor dem Namen. Mit dem Wert false wird die Wiedergabe des Streams gestoppt, und etwaige zusätzliche Parameter werden ignoriert.
start:NumberOptional Die Startzeit in Sekunden. Zulässige Werte sind -2, -1, 0 oder eine positive Zahl. Der Standardwert ist -2, womit nach einem Live-Stream gesucht wird, dann nach einem aufgezeichneten Stream. Wird keins von beiden gefunden, wird ein neuer Live-Stream geöffnet. Mit dem Wert -1 wird nur ein Live-Stream abgespielt. Mit dem Wert 0 oder einer positiven Zahl wird ein aufgezeichneter Stream abgespielt, und zwar ab der Position start Sekunden.
len:Number Optional, wenn start angegeben wird. Die Dauer der Wiedergabe in Sekunden. Zulässige Werte sind -1, -0, oder eine positive Zahl. Der Standardwert ist -1, womit ein Live-Stream oder ein aufgezeichneter Stream bis zum Ende abgespielt wird. Mit dem Wert 0 wird ein Einzelbild abgespielt, das sich start Sekunden nach dem Anfang eines aufgezeichneten Streams befindet. Ist der Wert eine positive Zahl, wird ein Live-Stream oder ein aufgezeichneter Stream für len Sekunden abgespielt.
reset:Object Optional, wenn len angegeben wird. Gibt an, ob eine Wiedergabeliste gelöscht werden soll. Der Standardwert ist 1 oder true, womit vorherige Aufrufe von play gelöscht werden und name sofort abgespielt wird. Mit dem Wert 0 oder false wird der Stream einer Wiedergabeliste hinzugefügt. Mit dem Wert 2 bleibt die Wiedergabeliste erhalten, und es werden alle Stream-Meldungen auf einmal anstatt in Intervallen zurückgegeben. Mit dem Wert 3 wird die Wiedergabeliste gelöscht, und es werden alle Stream-Meldungen auf einmal zurückgegeben.


Auslöser
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


Beispiel
Flash Media Server In diesem Beispiel wird ein aufgezeichneter Stream abgespielt, ab dem Anfang, für 100 Sekunden:
  ns.play("record1", 0, 100, true);
  
Flash Media Server In diesem Beispiel wird ein Live-Stream abgespielt, der von einem Client veröffentlicht wird, von Anfang bis Ende, der sofort beginnt und vorherige Streams löscht:
  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".
  • Wenn Sie "record" übergeben, werden Live-Daten veröffentlicht und aufgezeichnet, und die aufgezeichneten Daten werden in einer neuen Videodatei gespeichert, deren Name dem an den Parameter name übergebenen Wert entspricht. Die Datei wird auf dem Server in einem Unterverzeichnis des Serveranwendungsverzeichnisses gespeichert. Wenn die Datei bereits vorhanden ist, wird sie überschrieben.
  • Wenn Sie "append" übergeben, werden Live-Daten veröffentlicht und aufgezeichnet, und die aufgezeichneten Daten werden an eine Videodatei angehängt, deren Name dem an den Parameter name übergebenen Wert entspricht und die auf dem Server in einem Unterverzeichnis des Serveranwendungsverzeichnisses gespeichert ist. Wenn keine Datei mit einem Namen gefunden wird, der dem Wert des Parameters name entspricht, wird eine neue Datei erstellt.
  • Wenn Sie diesen Parameter nicht angeben oder "live" übergeben, werden Live-Daten veröffentlicht, jedoch nicht aufgezeichnet. Wenn eine Datei mit dem Namen vorhanden ist, der dem Wert des Parameters name entspricht, wird sie gelöscht.

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.
  • Geben Sie für offset den Wert 0 an, wenn Sie zum Anfang des Streams zurückkehren möchten.
  • Geben Sie die entsprechende Sekundenzahl an, wenn Sie ab dem Anfang des Streams vorwärts suchen möchten. Um den Abspielkopf zum Beispiel an eine Position 15 Sekunden nach dem Anfang (oder dem Schlüsselbild vor 15 Sekunden) zu bewegen, verwenden Sie myStream.seek(15).
  • Sie können in Relation zur aktuellen Position suchen, indem Sie NetStream.time + n oder NetStream.time - n eingeben, um von der aktuellen Position aus n Sekunden vorwärts bzw. rückwärts zu suchen. Um beispielsweise 20 Sekunden von der aktuellen Position aus zurückzuspulen, verwenden Sie NetStream.seek(NetStream.time - 20).

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


Beispiel
Flash Media Server Im folgenden Beispiel werden zwei 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);
        }
     }
  
Flash Media Server Im folgenden Beispiel werden Metadaten erstellt und einem Live-Stream hinzugefügt:
  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() );  
            }
         }
  
Flash Media Server Um auf ein Datenschlüsselbild, das dem Video hinzugefügt wurde, zu reagieren, muss der Client eine 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);
  }
  
Flash Media Server Im folgenden Beispiel wird eine Wiedergabeliste auf dem Server erstellt:
  // 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);
  
Flash Media Server Wenn die aufgezeichnete Videodatei nur Datenmeldungen enthält, können Sie die Videodatei entweder mit der Geschwindigkeit, in der sie aufgezeichnet wurde, abspielen, oder Sie rufen alle Datenmeldungen auf einmal ab.
  //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

Ereignisdetail
asyncError Ereignis
Ereignisobjekttyp: flash.events.AsyncErrorEvent
AsyncErrorEvent.type property = 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 Konstante AsyncErrorEvent.ASYNC_ERROR definiert den Wert der type-Eigenschaft eines asyncError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, bei dem der Netzwerkvorgang fehlschlägt.
errorDer Fehler, der das Ereignis ausgelöst hat.

Siehe auch

ioError Ereignis  
Ereignisobjekttyp: flash.events.IOErrorEvent
IOErrorEvent.type property = 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 Eigenschaft type eines ioError-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Netzwerkobjekt, bei dem der Eingabe/Ausgabe-Fehler auftritt.
textDer als Fehlermeldung anzuzeigende Text.
netStatus Ereignis  
Ereignisobjekttyp: flash.events.NetStatusEvent
NetStatusEvent.type property = 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.

Definiert den Wert der Eigenschaft type eines netStatus-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
infoEin Objekt mit Eigenschaften, die den Status oder die Fehlerbedingung des Objekts beschreiben.
targetDas 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:

Folgende Typen von Cue-Points können in eine Videodatei eingebettet werden:

Das onCuePoint-Ereignisobjekt hat folgende Eigenschaften:

EigenschaftBeschreibung
nameDer dem Cue-Point bei der Einbettung in die Videodatei zugewiesene Name.
parametersEin 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.
timeDie Angabe des Zeitpunkts in Sekunden, zu dem der Cue-Point während der Wiedergabe im Video auftritt.
typeDer 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:

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:

Dieses Ereignis kann ein Informationsobjekt mit den folgenden Eigenschaften zurückgeben:

Code-EigenschaftLevel-EigenschaftBedeutung
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

Beispiele Verwendung von Beispielen
NetConnectionExample.as

Im folgenden Beispiel wird ein Video-Objekt mit den Klassen NetConnection und NetStream verwendet, um eine FLV-Datei zu laden und abzuspielen. Zur Ausführung dieses Beispiels benötigen Sie eine FLV-Datei, deren Name und Speicherort mit der an 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