Pakiet | flash.events |
Klasa | public class SampleDataEvent |
Dziedziczenie | SampleDataEvent Event Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
To zdarzenie ma dwa zastosowania:
- Udostępnia dynamicznie generowane dane audio dla obiektu Sound
- Pobiera dane audio dla obiektu Microphone
Dynamiczne generowanie audio za pomocą obiektu Sound Należy użyć zdarzeni sampleData
w celu odtworzenia dynamicznie wygenerowanych danych audio. W tym środowisku obiekt Sound nie zawiera żadnych danych audio. Zamiast tego działa jak gniazdo dla danych audio, które są do niego przesyłane strumieniowo dzięki wykorzystaniu funkcji przypisanej jako funkcja obsługi dla zdarzenia sampleData
.
W funkcji należy użyć metody ByteArray.writeFloat()
w celu zapisania właściwości data
zdarzenia, która zawiera próbkowane dane przeznaczone do odtworzenia.
Jeśli obiekt Sound nie załadował pliku MP3, wówczas po wywołaniu metody play()
obiekt rozpoczyna wywoływanie zdarzeń sampleData
, żądając próbek dźwięku. Obiekt Sound kontynuuje wysyłanie zdarzeń w miarę odtwarzania dźwięku do czasu przerwania dostępu do danych lub do czasu wywołania metody stop()
obiektu SoundChannel.
Opóźnienie zdarzenia jest zależne od platformy i może ulec zmianie w przyszłych wersjach programu Flash Player lub środowiska AIR. Nie należy uzależniać konkretnych działań od konkretnej wartości opóźnienia Zamiast tego opóźnienie należy obliczyć w następujący sposób: ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Do właściwości data
obiektu SampleDataEvent należy wprowadzić od 2048 do 8192 próbek. W celu zapewnienia najlepszego działania należy udostępnić jak najwięcej próbek. Im mniejsza liczba próbek zostanie udostępniona, tym większe jest prawdopodobieństwo, że podczas odtwarzania będą występowały kliknięcia i trzaski. Może do tego dochodzić na różnych platformach i może występować w różnych sytuacjach — np. w przypadku zmiany wielkości przeglądarki. Kod działający prawidłowo po udostępnieniu tylko 2048 próbek na jednej platformie może nie działać poprawnie na innej platformie. Jeśli wymagane jest jak najniższe opóźnienie, należy rozważyć możliwość wybierania ilości danych przez użytkownika.
Jeśli zostanie udostępnionych mniej niż 2048 próbek, obiekt Sound odtworzy pozostałe próbki, a następnie zatrzyma dźwięk, tak jakby dotarł do końca pliku, generując przy tym zdarzenie complete
.
Za pomocą metody extract()
obiektu Sound można wyodrębniać dane dźwiękowe obiektu, które następnie można zapisywać w strumieniu dynamicznym w celu odtworzenia.
Jeśli zdarzenie sampleData
jest używane z obiektem Sound, wówczas jedynymi metodami Sound, które są dostępne, są extract()
i play()
. Wywołanie innych metod lub właściwości powoduje wygenerowanie wyjątku „invalid call”. Wszystkie metody i właściwości obiektu SoundChannel są nadal aktywne.
Przechwytywanie audio z mikrofonu Za pomocą zdarzenia sampleData
można przechwytywać dane audio z mikrofonu. Po dodaniu detektora zdarzeń dla zdarzenia sampleData
obiekt Microphone wywołuje zdarzenie po uzyskaniu dostępu do próbek audio.
W funkcji detektora zdarzeń należy użyć metody ByteArray.readFloat()
w celu odczytania właściwości data
zdarzenia, która zawiera próbkowane dane. Zdarzenie będzie zawierało wiele próbek, więc należy użyć pętli while
w celu odczytania dostępnych danych:
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
bubbles : Boolean [tylko do odczytu]
Określa, czy zdarzenie może przechodzić fazę propagacji. | Event | ||
cancelable : Boolean [tylko do odczytu]
Wskazuje, czy można uniemożliwić operacje skojarzone ze zdarzeniem. | Event | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
currentTarget : Object [tylko do odczytu]
Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. | Event | ||
data : ByteArray
Dane w strumieniu audio. | SampleDataEvent | ||
eventPhase : uint [tylko do odczytu]
Bieżąca faza przepływu zdarzeń. | Event | ||
position : Number
Pozycja danych w strumieniu audio. | SampleDataEvent | ||
target : Object [tylko do odczytu]
Miejsce docelowe zdarzenia. | Event | ||
type : String [tylko do odczytu]
Typ zdarzenia. | Event |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Tworzy obiekt zdarzenia zawierający informacje o zdarzeniach dotyczących danych audio. | SampleDataEvent | ||
[przesłanianie]
Tworzy kopię obiektu SampleDataEvent i ustawia wartości poszczególnych właściwości zgodnie z właściwościami oryginału. | SampleDataEvent | ||
Funkcja narzędziowa umożliwiająca implementację metody toString() w niestandardowych klasach Event w języku ActionScript 3.0. | Event | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Sprawdza, czy w odniesieniu do tego zdarzenia wywołano metodę preventDefault(). | Event | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Anuluje domyślne ustawienia zdarzenia, o ile zachowanie to może być anulowane. | Event | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zapobiega przetwarzaniu wszelkich detektorów zdarzeń w węźle bieżącym i węzłach następujących po nim. | Event | ||
Zapobiega przetwarzaniu wszelkich detektorów zdarzeń w węzłach następujących po węźle bieżącym w przepływie zdarzeń. | Event | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
[przesłanianie]
Zwraca ciąg znaków, który zawiera wszystkie właściwości obiektu SampleDataEvent. | SampleDataEvent | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
Stała | Zdefiniowane przez | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [statyczny]
Definiuje wartość właściwości type dotyczącej obiektu zdarzenia SampleDataEvent. | SampleDataEvent |
data | właściwość |
position | właściwość |
SampleDataEvent | () | Konstruktor |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Tworzy obiekt zdarzenia zawierający informacje o zdarzeniach dotyczących danych audio. Obiekty Event są przekazywane jako parametry do detektorów zdarzeń.
Parametrytype:String — Typ zdarzenia. Ta wartość to:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Określa, czy obiekt Event uczestniczy w etapie propagacji przepływu zdarzeń.
| |
cancelable:Boolean (default = false ) — Określa, czy obiekt Event może zostać anulowany.
| |
theposition:Number (default = 0 ) — Pozycja danych w strumieniu audio.
| |
thedata:ByteArray (default = null ) — Tablica bajtów danych.
|
clone | () | metoda |
override public function clone():Event
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Tworzy kopię obiektu SampleDataEvent i ustawia wartości poszczególnych właściwości zgodnie z właściwościami oryginału.
ZwracaEvent — Nowy obiekt SampleDataEvent z wartościami właściwości zgodnymi z oryginałem.
|
toString | () | metoda |
override public function toString():String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zwraca ciąg znaków, który zawiera wszystkie właściwości obiektu SampleDataEvent. Format ciągu znaków jest następujący:
[SampleDataEvent type=value bubbles=value cancelable=value theposition=value thedata=value]
String — Ciąg znaków, który zawiera wszystkie właściwości obiektu SampleDataEvent .
|
SAMPLE_DATA | Stała |
public static const SAMPLE_DATA:String = "sampleData"
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Definiuje wartość właściwości type
obiektu zdarzenia SampleDataEvent
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
position | Punkt, z którego udostępniane są dane audio. |
Powiązane elementy interfejsu API
var mySound:Sound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } } mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator); mySound.play();
Tue Jun 12 2018, 12:06 PM Z