Pakket | flash.events |
Klasse | public class SampleDataEvent |
Overerving | SampleDataEvent Event Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Deze gebeurtenis heeft twee functies:
- Dynamisch gegenereerde audiogegevens leveren voor een Sound-object
- Audiogegevens ophalen voor een Microphone-object
Audio dynamisch genereren met het Sound-object Met de sampleData
-gebeurtenis kunt u dynamisch gegenereerde audio afspelen. In deze omgeving bevat het object Sound geen geluidgegevens. In plaats hiervan fungeert het als een socket voor geluidsgegevens die ernaar worden gestreamd door de functie die u toewijst als handler voor de sampleData
-gebeurtenis.
In uw functie gebruikt u de methode ByteArray.writeFloat()
om te schrijven naar de eigenschap data
van de gebeurtenis waarin de gesampelde gegevens bevat zijn opgenomen die u wilt afspelen.
Als een Sound-object geen MP3-bestand heeft geladen en u de methode play()
aanroept, begint het object met het verzenden van sampleData
-gebeurtenissen en met het aanvragen van geluidssamples. Het Sound-object gaat tijdens het afspelen van het geluid door met het verzenden van gebeurtenissen, totdat u ophoudt met het aanleveren van gegevens of totdat de methode stop()
van het SoundChannel-object wordt aangeroepen.
De vertraging van gebeurtenissen varieert per platform en kan veranderen in toekomstige versies van Flash Player of AIR Zorg ervoor dat u niet afhankelijk bent van een bepaalde vertraging. U kunt de vertraging het beste berekenen met ((SampleDataEvent.position/44.1) - SoundChannelObject.position)
.
Zorg ervoor dat u tussen de 2048 en 8192 samples levert aan de eigenschap data
van het SampleDataEvent-object. U krijgt de beste resultaten als u zoveel mogelijk samples aanlevert. Hoe minder samples u aanlevert, des te groter de kans op ongewenste geluiden en onderbrekingen tijdens het afspelen. Dit gedrag verschilt per platform en kan in verschillende situaties optreden, bijvoorbeeld wanneer u de afmetingen van de browser wijzigt. Uw code kan goed werken op het ene platform wanneer u slechts 2048 samples aanlevert, maar diezelfde code kan mindere resultaten geven op een ander platform. Als u de kleinst mogelijke vertraging nodig hebt, kunt u overwegen om de hoeveelheid gegevens door de gebruiker te laten selecteren.
Als u minder dan 2048 samples aanlevert, worden de resterende samples door het Sound-object afgespeeld en het geluid gestopt alsof het einde van een geluidsbestand is bereikt, waarbij een gebeurtenis complete
wordt gegenereerd.
Met de methode extract()
van een Sound-object kunt u geluidsgegevens extraheren en schrijven naar de dynamische stream voor afspelen.
Als u de gebeurtenis sampleData
gebruikt met een Sound-object, worden alleen de Sound-methoden extract()
en play()
ingeschakeld. Als u andere methoden of eigenschappen aanroept, resulteert dit in de uitzondering 'ongeldige aanroep'. Alle methoden en eigenschappen van het object SoundChannel blijven ingeschakeld.
Geluid van een microfoon vastleggen Met de gebeurtenis sampleData
kunt u de audiogegevens van een microfoon vastleggen. Wanneer u een gebeurtenislistener toevoegt voor de sampleData
-gebeurtenis, wordt de gebeurtenis door de microfoon verzonden zodra de audiosamples beschikbaar komen.
Met de methode ByteArray.readFloat()
van de gebeurtenishandlerfunctie kunt u de eigenschap data
) van de gebeurtenis lezen. Hierin staan de gesampelde gegevens. De gebeurtenis bevat meerdere samples. U kunt de beschikbare gegevens het beste met een while
-lus lezen:
var soundBytes:ByteArray = new ByteArray(); while(event.data.bytesAvailable) { var sample:Number = event.data.readFloat(); soundBytes.writeFloat(sample); }
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
bubbles : Boolean [alleen-lezen]
Geeft aan of een gebeurtenis een terugkoppelgebeurtenis is. | Event | ||
cancelable : Boolean [alleen-lezen]
Geeft aan of het gedrag dat aan deze gebeurtenis is gekoppeld, kan worden voorkomen. | Event | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
currentTarget : Object [alleen-lezen]
Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. | Event | ||
data : ByteArray
De gegevens in de audiostream. | SampleDataEvent | ||
eventPhase : uint [alleen-lezen]
De huidige fase in de gebeurtenisstroom. | Event | ||
position : Number
De positie van de gegevens in de audiostream. | SampleDataEvent | ||
target : Object [alleen-lezen]
Doel van gebeurtenis. | Event | ||
type : String [alleen-lezen]
Het type gebeurtenis. | Event |
Methode | Gedefinieerd door | ||
---|---|---|---|
SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Maakt een Event-object dat informatie bevat over gebeurtenissen met betrekking tot audiogegevens. | SampleDataEvent | ||
[overschrijven]
Maakt een kopie van het object SampleDataEvent en stelt de waarde van elke eigenschap zo in dat deze overeenkomt met die van het origineel. | SampleDataEvent | ||
Een hulpprogrammafunctie voor de implementatie van de methode toString() in aangepaste ActionScript 3.0-Event-klassen. | Event | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Controleert of de methode preventDefault() is aangeroepen voor de gebeurtenis. | Event | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Annuleert het standaardgedrag van een gebeurtenis wanneer dat gedrag kan worden geannuleerd. | Event | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Voorkomt het verwerken van gebeurtenislisteners in het huidige knooppunt en volgende knooppunten in de gebeurtenisstroom. | Event | ||
Voorkomt het verwerken van gebeurtenislisteners in knooppunten die volgen op het huidige knooppunt in de gebeurtenisstroom. | Event | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
[overschrijven]
Retourneert een tekenreeks die alle eigenschappen van het object SampleDataEvent bevat. | SampleDataEvent | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
Constante | Gedefinieerd door | ||
---|---|---|---|
SAMPLE_DATA : String = "sampleData" [statisch]
Definieert de waarde van de eigenschap type van een gebeurtenisobject SampleDataEvent. | SampleDataEvent |
data | eigenschap |
position | eigenschap |
SampleDataEvent | () | Constructor |
public function SampleDataEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, theposition:Number = 0, thedata:ByteArray = null)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Maakt een Event-object dat informatie bevat over gebeurtenissen met betrekking tot audiogegevens. Gebeurtenisobjecten worden als parameters aan gebeurtenislisteners doorgegeven.
Parameterstype:String — Het type gebeurtenis. Deze waarde is:Event.SAMPLE_DATA .
| |
bubbles:Boolean (default = false ) — Bepaalt of het Event-object deelneemt aan de terugkoppelfase van de gebeurtenisstroom.
| |
cancelable:Boolean (default = false ) — Bepaalt of het Event-object kan worden geannuleerd.
| |
theposition:Number (default = 0 ) — De positie van de gegevens in de audiostream.
| |
thedata:ByteArray (default = null ) — Een bytearray met gegevens.
|
clone | () | methode |
override public function clone():Event
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Maakt een kopie van het object SampleDataEvent en stelt de waarde van elke eigenschap zo in dat deze overeenkomt met die van het origineel.
Geretourneerde waardeEvent — Een nieuw object SampleDataEvent met eigenschapswaarden die overeenkomen met het origineel.
|
toString | () | methode |
override public function toString():String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert een tekenreeks die alle eigenschappen van het object SampleDataEvent bevat. De tekenreeks heeft de volgende indeling:
[SampleDataEvent type=waarde bubbles=waarde cancelable=waarde theposition=waarde thedata=waarde]
String — Een tekenreeks die alle eigenschappen van het object SampleDataEvent bevat.
|
SAMPLE_DATA | Constante |
public static const SAMPLE_DATA:String = "sampleData"
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Definieert de waarde van de eigenschap type
van een gebeurtenisobject SampleDataEvent
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
position | Het punt vanwaar de geluidgegevens worden geleverd. |
Verwante API-elementen
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();
Wed Jun 13 2018, 11:42 AM Z