AS3: Audio-Aktivitätsstufe eines NetStreams

8

Ich ziehe meine Haare aus (wieder einmal) und versuche einen Weg zu finden, den Aktivitätsgrad von Audio eines NetStreams zu lesen, ähnlich wie man es mit einem Mikrofon machen kann. Ich würde es hassen, wenn jeder Client seinen Aktivitätslevel über SharedObjects oder Ähnliches senden müsste, welches das richtige Verfahren zu sein scheint.

Vielen Dank im Voraus!

-Dave

    
Dave 18.09.2009, 06:48
quelle

4 Antworten

8

In AS3 hat das Netstream-Objekt eine Eigenschaft namens .info. Dies enthält das Objekt NetStreamInfo. NetstreamInfo wird Ihnen alle Arten von Metriken geben. Unter ihnen ist die Eigenschaft "audioBytesPerSecond", die Ihnen einen Hinweis auf die Audioaktivität zu einem bestimmten Zeitpunkt geben wird. Wenn Sie die NetStreamInfo für den eingehenden Stream anfordern, erhalten Sie die Daten vom Client. Wenn Sie die NetStreamInfo für den ausgehenden Stream anfordern, erhalten Sie Daten aus Ihrer eigenen Cam- und Mikrofonaktivität. Weitere Details zum NetStreamInfo-Objekt finden Sie hier: Ссылка

    
Hans Helms 23.09.2009, 09:56
quelle
1

Das ist wahrscheinlich die einzige Möglichkeit. NetStream ist ein ziemlich generisches Objekt von Entwurf. Die beste Seite, um eine Frage wie diese zu stellen, könnte auf FlashComGuru.com sein, wo viele NetStream / FMS-Leute rumhängen.

    
M. Ryan 23.09.2009 00:18
quelle
1

NetStreamInfo.audioBytesPerSecond ist unzuverlässig. Da es sich um einen Durchschnitt pro Sekunde handelt, dauert es eine Sekunde, bis man den fehlenden Ton erkennen kann.

Sie sollten stattdessen NetStreamInfo.audioByteCount verwenden. Wie aus der Adobe-Dokumentation:

Gibt die Gesamtanzahl der Audio-Bytes an, die in der Warteschlange angekommen sind, unabhängig davon, wie viele davon gespielt oder geleert wurden. Sie können diesen Wert verwenden, um die ankommende Audiodatenrate zu berechnen, indem Sie die gewünschte Metrik verwenden, indem Sie einen Timer erstellen und die Differenz der Werte in aufeinander folgenden Timeraufrufen berechnen.

    
PippoApps.com 11.11.2014 21:26
quelle
0

Ich habe Flex-Beispiele gesehen, die eine eq-Leiste anzeigen.

Der Code verwendet zwei Objekte

SoundTransform und flash.media.SoundChannel

es funktioniert, indem es ein benutzerdefiniertes Ereignis mit einer Eigenschaft, die das SoundChannel-Objekt mit dem EQ des wiedergegebenen Audiostreams ist, sendet.

nicht sicher, genau, wie das Reh funktioniert, weil es in Flex gebündelt ist, oder wie aus dem NetStream zu den Audio-basierten SoundChannel zu bekommen.

Das Beispiel finden Sie in Kapitel 15 "Eigene Komponenten bauen" des Buches "Flex 3-Komponenten-Lösungen" von Jack Herrington. veröffentlicht von Freunden von ed (die rosa Buchrücken).

hoffe das hilft.

    
Fire Crow 28.09.2009 19:39
quelle

Tags und Links