Pakket | flash.media |
Klasse | public class Sound |
Overerving | Sound EventDispatcher Object |
Subklassen | SoundAsset |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
In Flash Player 10 en hoger en AIR 1.5 en hoger kunt u deze klasse ook gebruiken om dynamisch gegenereerd geluid te gebruiken. In dit geval gebruikt het object Sound de functie die u toewijst aan een sampleData
-gebeurtenishandler om naar geluidsgegevens te scannen. Het geluid wordt afgespeeld terwijl het wordt opgehaald van een ByteArray-object dat u van geluidsgegevens voorziet. U kunt Sound.extract()
gebruiken om geluidsgegevens uit een Sound-object te halen, waarna u deze kunt bewerken voordat u ze terugschrijft naar de stream om te worden afgespeeld.
Wanneer u geluiden wilt beheren die in een SWF-bestand zijn ingesloten, gebruikt u de eigenschappen van de klasse SoundMixer.
Opmerking: de geluids-API van ActionScript 3.0 verschilt van ActionScript 2.0. In ActionScript 3.0 kunt u geluidsobjecten niet rangschikken in een hiërarchie om hun eigenschappen te beheren.
Houd rekening met het volgende beveiligingsmodel wanneer u deze klasse gebruikt:
- Een geluid laden en afspelen is niet toegestaan wanneer het aanroepende bestand zich in een netwerksandbox bevindt en het geluidsbestand lokaal wordt geladen.
- Standaard is het niet toegestaan een geluid te laden en af te spelen wanneer het aanroepende bestand lokaal is en probeert een extern geluid te laden en af te spelen. Een gebruiker moet expliciet toestemming geven voor dit type toegang.
- Bepaalde bewerkingen die betrekking hebben op geluid zijn beperkt. De gegevens in een geladen geluid zijn niet toegankelijk voor een bestand in een ander domein, tenzij u een bestand met interdomeinbeleid implementeert. API's die betrekking hebben op geluid en die onder deze beperking vallen, zijn
Sound.id3
,SoundMixer.computeSpectrum()
,SoundMixer.bufferTime
en de klasseSoundTransform()
.
In Adobe AIR is de inhoud in de application
-beveiligingssandbox (inhoud die met de AIR-toepassing is geïnstalleerd), echter niet beperkt tot deze beveiligingsbeperkingen.
Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
bytesLoaded : uint [alleen-lezen]
Retourneert het momenteel beschikbare aantal bytes in dit object Sound. | Sound | ||
bytesTotal : int [alleen-lezen]
Retourneert het totale aantal bytes in dit object Sound. | Sound | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
id3 : ID3Info [alleen-lezen]
Biedt toegang tot de metagegevens die onderdeel zijn van een MP3-bestand. | Sound | ||
isBuffering : Boolean [alleen-lezen]
Retourneert de bufferstatus van externe MP3-bestanden. | Sound | ||
isURLInaccessible : Boolean [alleen-lezen]
Geeft aan of de eigenschap Sound.url is afgebroken. | Sound | ||
length : Number [alleen-lezen]
De lengte van het huidige geluid, in milliseconden | Sound | ||
url : String [alleen-lezen]
De URL vanwaar dit geluid werd geladen. | Sound |
Methode | Gedefinieerd door | ||
---|---|---|---|
Maakt een nieuw object Sound. | Sound | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Sluit de stream, waardoor het downloaden van gegevens wordt gestopt. | Sound | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Haal onbewerkte geluidsgegevens op uit een Sound-object. | Sound | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Initieert het laden van een extern MP3-bestand via de opgegeven URL. | Sound | ||
laad MP3-geluidsgegevens van een ByteArray-object naar een Sound-object. | Sound | ||
loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Laad PCM 32-bits geluidsgegevens met zwevende-kommawaarde van een ByteArray-object in een Sound-object. | Sound | ||
play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Genereert een nieuw object SoundChannel om het geluid af te spelen. | Sound | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
Gebeurtenis | Overzicht | Gedefinieerd door | ||
---|---|---|---|---|
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de besturingssysteemfocus krijgt en actief wordt. | EventDispatcher | |||
Wordt verzonden nadat gegevens zijn geladen. | Sound | |||
[uitgezonden gebeurtenis] Wordt verzonden wanneer Flash Player of de AIR-toepassing de systeemfocus verliest en inactief wordt. | EventDispatcher | |||
Wordt verzonden door een object Sound wanneer ID3-gegevens beschikbaar zijn voor een MP3-geluid. | Sound | |||
Wordt verzonden wanneer een invoer-/uitvoerfout optreedt die ertoe leidt dat een laadbewerking mislukt. | Sound | |||
Wordt verzonden wanneer een laadbewerking begint. | Sound | |||
Wordt verzonden wanneer gegevens worden ontvangen tijdens een laadbewerking. | Sound | |||
Wordt verzonden wanneer het runtime-programma om nieuwe geluidsgegevens vraagt. | Sound |
bytesLoaded | eigenschap |
bytesLoaded:uint
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert het momenteel beschikbare aantal bytes in dit object Sound. Deze eigenschap is meestal alleen nuttig voor extern geladen bestanden.
Implementatie
public function get bytesLoaded():uint
bytesTotal | eigenschap |
id3 | eigenschap |
id3:ID3Info
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Biedt toegang tot de metagegevens die onderdeel zijn van een MP3-bestand.
MP3-geluidsbestanden kunnen ID3-tags bevatten die metagegevens over het bestand bieden. Wanneer een MP3-bestand dat u met de methode Sound.load()
laadt ID3-tags bevat, kunt u deze eigenschappen controleren. Alleen ID3-tags die de tekenset UTF-8 gebruiken, worden ondersteund.
Flash Player 9 en later en AIR ondersteunen ID3 2.0-tags, met name 2.3 en 2.4. In de volgende tabellen vindt u de standaardtags van ID3 2.0 en het type inhoud dat de tags vertegenwoordigen. De eigenschap Sound.id3
biedt toegang tot deze tags via my_sound.id3.COMM
, my_sound.id3.TIME
, enzovoort. In de eerste tabel worden de tags beschreven die toegankelijk zijn via de naam van de ID3 2.0-eigenschap of de ActionScript-eigenschap. In de tweede tabel worden ID3-tags beschreven die worden ondersteund, maar waarvoor geen eigenschappen zijn gedefinieerd in ActionScript.
ID3 2.0-tag | Overeenkomende eigenschap klasse Sound |
COMM | Sound.id3.comment |
TALB | Sound.id3.album |
TCON | Sound.id3.genre |
TIT2 | Sound.id3.songName |
TPE1 | Sound.id3.artist |
TRCK | Sound.id3.track |
TYER | Sound.id3.year |
In de volgende tabel worden ID3-tags beschreven die worden ondersteund, maar waarvoor geen eigenschappen zijn gedefinieerd in de klasse Sound. U hebt toegang tot deze tags door het aanroepen van mySound.id3.TFLT
, mySound.id3.TIME
, enzovoort. Opmerking: geen van deze labels wordt in Flash Lite 4 ondersteund.
Eigenschap | Beschrijving |
TFLT | Bestandstype |
TIME | Tijd |
TIT1 | Beschrijving van inhoudsgroep |
TIT2 | Beschrijving van titel/naam van nummer/inhoud |
TIT3 | Ondertitel/beschrijving |
TKEY | Begintoonsoort |
TLAN | Talen |
TLEN | Lengte |
TMED | Mediatype |
TOAL | Oorspronkelijke titel album/film/show |
TOFN | Oorspronkelijke bestandsnaam |
TOLY | Oorspronkelijke tekstschrijvers |
TOPE | Oorspronkelijke artiesten/uitvoerenden |
TORY | Oorspronkelijk jaar van uitgave |
TOWN | Bestandseigenaar/licentiehouder |
TPE1 | Hoofduitvoerenden/solisten |
TPE2 | Band/orkest/begeleiding |
TPE3 | Dirigent/uitvoerende |
TPE4 | Geïnterpreteerd, opnieuw gemixt of anderszins gewijzigd door |
TPOS | Onderdeel van set |
TPUB | Uitgever |
TRCK | Tracknummer/positie van track in set |
TRDA | Opnamedatums |
TRSN | Naam van internetradiostation |
TRSO | Eigenaar van internetradiostation |
TSIZ | Grootte |
TSRC | ISRC (International Standard Recording Code) |
TSSE | Software/hardware en instellingen gebruikt voor codering |
TYER | Jaar |
WXXX | Frame URL-koppeling |
Houd rekening met het beveiligingsmodel van Flash Player wanneer u deze eigenschap gebruikt:
- De eigenschap
id3
van een object Sound is altijd toegestaan voor SWF-bestanden in dezelfde beveiligingssandbox als het geluidsbestand. Voor bestanden in andere sandboxen zijn beveiligingscontroles beschikbaar. - Wanneer u het geluid laadt met de methode
load()
van de klasse Sound, kunt u een parametercontext
opgeven (een object SoundLoaderContext). Als u de eigenschapcheckPolicyFile
van het object SoundLoaderContext instelt optrue
, controleert Flash Player of er een bestand met URL-beleid aanwezig is op de server waarvan het geluid wordt geladen. Als een beleidsbestand bestaat dat toegang van het domein met het ladende SWF-bestand toestaat, krijgt het bestand toegang tot de eigenschapid3
van het object Sound; anders wordt de toegang geweigerd.
In Adobe AIR is de inhoud in de application
-beveiligingssandbox (inhoud die met de AIR-toepassing is geïnstalleerd), echter niet beperkt tot deze beveiligingsbeperkingen.
Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.
Implementatie
public function get id3():ID3Info
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
In de constructor wordt het geluidsbestand geladen, maar niet ingesteld op afspelen. Hier wordt aangenomen dat het bestand zich in de SWF-map bevindt. Het systeem moet toestemming hebben om de ID3-tags van een geladen geluidsbestand te lezen. Wanneer het bestand ID3-informatie bevat en het programma heeft toestemming deze te lezen, wordt een gebeurtenis Event.ID3
geactiveerd en wordt de eigenschap id3
van het geluidsbestand gevuld. De eigenschap id3
bevat een object ID3Info
met alle ID3-informatie.
In de methode id3Handler()
worden de ID3-tags van het bestand opgeslagen in id3
, een klasseobject ID3Info. Een tekstveld wordt geïnstantieerd om de lijst met ID3-tags weer te geven. De lus for doorloopt alle ID3 2.0-tags en voegt de naam en de waarde aan de inhoud van het tekstveld toe. Met eigenschappen van de ID3-informatie (ID3Info
) worden de artiest, de naam van het nummer en het album ook toegevoegd. ActionScript 3.0 en Flash Player 9 en hoger bieden ondersteuning voor tags van ID3 2.0, met name 2.3 en 2.4. Wanneer u eigenschappen doorloopt zoals in de lus for, worden alleen tags van ID3 2.0 weergegeven. De gegevens van lagere versies worden echter ook opgeslagen in de eigenschap id3
van het nummer en kan worden benaderd via de ID3 info klasse-eigenschappen. De tags voor de ID3 1.0 staan aan het einde van het bestand; de tags van ID3 2.0 staan aan het begin van het bestand. (Soms hebben bestanden tags van zowel lagere als hogere versies op dezelfde plaats.) Wanneer een bestand beide versies van de tags (1.0 en 2.0) aan het begin en het einde van het bestand heeft gecodeerd, wordt de methode id3Handler()
tweemaal aangeroepen. Eerst wordt de versie 2.0 en vervolgens de versie 1.0 gelezen. Wanneer alleen de tag ID3 1.0 beschikbaar is, is de informatie toegankelijk via de ID3 info-eigenschappen, zoals id3.songname
. Voor ID3 2.0 haalt de eigenschap id3.TITS
de naam van het nummer op met de nieuwe tag (TITS).
Er is geen foutafhandeling geschreven voor dit voorbeeld en wanneer de ID3-inhoud te lang is, kan het resultaat het weergavegebied overschrijden.
package { import flash.display.Sprite; import flash.media.Sound; import flash.net.URLRequest; import flash.media.ID3Info; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.Event; public class Sound_id3Example extends Sprite { private var snd:Sound = new Sound(); private var myTextField:TextField = new TextField(); public function Sound_id3Example() { snd.addEventListener(Event.ID3, id3Handler); snd.load(new URLRequest("mySound.mp3")); } private function id3Handler(event:Event):void { var id3:ID3Info = snd.id3; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.border = true; myTextField.appendText("Received ID3 Info: \n"); for (var propName:String in id3) { myTextField.appendText(propName + " = " + id3[propName] + "\n"); } myTextField.appendText("\n" + "Artist: " + id3.artist + "\n"); myTextField.appendText("Song name: " + id3.songName + "\n"); myTextField.appendText("Album: " + id3.album + "\n\n"); this.addChild(myTextField); } } }
isBuffering | eigenschap |
isBuffering:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retourneert de bufferstatus van externe MP3-bestanden. Wanneer de waarde true
is, wordt het afspelen onderbroken terwijl het object wacht op meer gegevens.
Implementatie
public function get isBuffering():Boolean
isURLInaccessible | eigenschap |
isURLInaccessible:Boolean
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10.1, AIR 2 |
Geeft aan of de eigenschap Sound.url
is afgebroken. Als de waarde isURLInaccessible
true
is, is de waarde Sound.url
alleen het domein van de laatste URL waaruit het geluid is geladen. Bijvoorbeeld: de eigenschap wordt afgebroken als het geluid wordt geladen vanuit http://www.adobe.com/assets/hello.mp3
; de eigenschap Sound.url
heeft de waarde http://www.adobe.com
. De waarde isURLInaccessible
is alleen true
als aan alle volgende voorwaarden is voldaan:
- Er was sprake van een HTTP-omleiding bij het laden van het geluidsbestand.
- Het SWF-bestand dat
Sound.load()
aanroept, is afkomstig uit een ander domein dan de laatste URL van het geluidsbestand. - Het SWF-bestand dat
Sound.load()
aanroept, heeft geen toestemming het geluidsbestand te openen. Toestemming het geluidsbestand te openen verleent u op dezelfde manier als toestemming voor de eigenschapSound.id3
: maak een beleidsbestand en gebruik de eigenschapSoundLoaderContext.checkPolicyFile
.
Opmerking: de eigenschap isURLInaccessible
is toegevoegd voor Flash Player 10.1 en AIR 2.0. Deze eigenschap is echter beschikbaar voor SWF-bestanden van alle versies als deze door de Flash-runtime wordt ondersteund. Bij het gebruik van bepaald ontwerpgereedschap in 'strikte modus' treedt dus een compilatiefout op. U kunt de fout omzeilen door de indirecte syntaxis mySound["isURLInaccessible"]
te gebruiken of de strikte modus uit te schakelen. Als u Flash Professional CS5 of Flex SDK 4.1 gebruikt, kunt u deze API voor runtimes die zijn uitgebracht vóór Flash Player 10.1 en AIR 2, gebruiken en compileren.
Voor toepassingsinhoud in AIR is de waarde van deze eigenschap altijd false
.
Implementatie
public function get isURLInaccessible():Boolean
Verwante API-elementen
length | eigenschap |
url | eigenschap |
url:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De URL vanwaar dit geluid werd geladen. Deze eigenschap is alleen van toepassing op objecten Sound die zijn geladen met de methode Sound.load()
. Voor objecten Sound die zijn gekoppeld aan een geluidselement uit de bibliotheek van een SWF-bestand heeft de eigenschap url
de waarde null
.
Wanneer u Sound.load()
voor het eerst aanroept, heeft de eigenschap url
in eerste instantie de waarde null
omdat de uiteindelijke URL nog niet bekend is. De eigenschap url
heeft een andere waarde dan null zodra een gebeurtenis open
vanuit het object Sound wordt verzonden.
De eigenschap url
bevat de uiteindelijke, absolute URL waarvan het geluid is geladen. De waarde van url
is doorgaans gelijk aan de waarde die aan de parameter stream
vanSound.load()
wordt doorgegeven. Als u echter een relatieve URL aan Sound.load()
hebt doorgegeven, vertegenwoordigt de waarde van de eigenschap url
de absolute URL. Wanneer het oorspronkelijke URL-aanvraag wordt omgeleid door een HTTP-server, weerspiegelt de waarde van de eigenschap url
de uiteindelijke URL waarvan het geluidsbestand daadwerkelijk is gedownload. Deze manier om een absolute, uiteindelijke URL te melden komt overeen met de werking van LoaderInfo.url
.
In sommige gevallen is de waarde van de eigenschap url
afgebroken; zie de eigenschap isURLInaccessible
voor meer informatie.
Implementatie
public function get url():String
Verwante API-elementen
Sound | () | Constructor |
public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Maakt een nieuw object Sound. Wanneer u een geldig object URLRequest aan de constructor Sound doorgeeft, roept de constructor automatisch de functie load()
aan voor het object Sound. Wanneer u geen geldig object URLRequest doorgeeft aan de constructor Sound, moet u de functieload()
voor het object Sound zelf aanroepen, anders wordt de stream niet geladen.
Zodra load()
voor een object Sound is aangeroepen, kunt u later geen ander geluidsbestand in dat object Sound laden. Wanneer u een ander geluidsbestand wilt laden, moet u een nieuw object Sound laden.
load()
, de sampleData
-gebeurtenishandler gebruiken om geluid dynamisch naar het Sound-object te laden.
Parameters stream:URLRequest (default = null ) — De URL die wijst naar een extern MP3-bestand.
| |
context:SoundLoaderContext (default = null ) — Een optioneel contextobject SoundLoader, waarin de buffertijd (het minimumaantal milliseconden MP3-gegevens dat in de buffer van het object Sound moet worden vastgehouden) kan worden gedefinieerd en waarin kan worden opgegeven of de toepassing moet controleren op een bestand met interdomeinbeleid voordat het geluid wordt geladen.
|
close | () | methode |
public function close():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Sluit de stream, waardoor het downloaden van gegevens wordt gestopt. Er kunnen geen gegevens uit de stream worden gelezen nadat de methode close()
is aangeroepen.
Gegenereerde uitzondering
IOError — De stream kon niet worden gesloten of de stream was niet geopend.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
Sound.close()
aangeroepen en stopt het geluid met streamen wanneer de gebruiker op de stopknop klikt, .
In de constructor wordt een tekstveld gemaakt voor de start- en stopknop. Wanneer de gebruiker op het tekstveld klikt, wordt de methode clickHandler()
aangeroepen. Deze handelt het starten en stoppen van het geluidsbestand af. Afhankelijk van de netwerkverbinding of wanneer de gebruiker op de stopknop klikt, kan al veel van het bestand zijn geladen en kan het even duren voordat het geluidsbestand stopt met afspelen. Een blok try...catch
wordt gebruikt om een eventuele I/O-fout af te vangen die kan optreden wanneer het streamen wordt gestopt. Wanneer het geluid bijvoorbeeld wordt geladen vanuit een lokale map en niet wordt gestreamd, wordt fout 2029 afgevangen die aangeeft 'Dit object URLStream heeft geen open stream.'
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; import flash.errors.IOError; import flash.events.IOErrorEvent; public class Sound_closeExample extends Sprite { private var snd:Sound = new Sound(); private var button:TextField = new TextField(); private var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); public function Sound_closeExample() { button.x = 10; button.y = 10; button.text = "START"; button.border = true; button.background = true; button.selectable = false; button.autoSize = TextFieldAutoSize.LEFT; button.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(button); } private function clickHandler(e:MouseEvent):void { if(button.text == "START") { snd.load(req); snd.play(); snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); button.text = "STOP"; } else if(button.text == "STOP") { try { snd.close(); button.text = "Wait for loaded stream to finish."; } catch (error:IOError) { button.text = "Couldn't close stream " + error.message; } } } private function errorHandler(event:IOErrorEvent):void { button.text = "Couldn't load the file " + event.text; } } }
extract | () | methode |
public function extract(target:ByteArray, length:Number, startPosition:Number = -1):Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Haal onbewerkte geluidsgegevens op uit een Sound-object.
Deze methode is bedoeld voor als u werkt met dynamisch gegenereerde audio, met een functie die u toewijst aan de gebeurtenis sampleData
voor een ander Sound-object. U kunt deze methode dus gebruiken om geluidsgegevens te extraheren uit een Sound-object. Vervolgens kunt u de gegevens wegschrijven naar de bytearray die door een ander Sound-object wordt gebruikt om dynamische audio te streamen.
De geluidsgegevens worden in de doelbytearray geplaatst, vanaf de huidige positie van de bytearray. De audiogegevens worden altijd weergegeven als 44100 Hz Stereo. Het voorbeeldtype is een 32-bits waarde met zwevende komma, die kan worden geconverteerd naar een getal met NByteArray.readFloat()
.
Parameters
target:ByteArray — Een ByteArray-object waarin de opgehaalde geluidsvoorbeelden zijn geplaatst.
| |
length:Number — Het aantal op te halen geluidsvoorbeelden. Een voorbeeld bevat zowel het linker- als het rechterkanaal — dat wil zeggen, twee 32-bits waarden met zwevende komma.
| |
startPosition:Number (default = -1 ) — Het voorbeeld waarbij het ophalen begint. Als u geen waarde opgeeft, begint de eerste aanroep van Sound.extract() bij het begin van het geluid; volgende aanroepen zonder een waarde voor startPosition gaan in volgorde verder in het bestand.
|
Number — Het aantal voorbeelden dat naar de ByteArray is geschreven die is opgegeven in de parameter Target .
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
extract()
van de klasse Sound gebruikt om toegang te krijgen tot de audiogegevens.
De MP3-gegevens worden geladen in het Sound-object sourceSnd
. Wanneer de MP3-gegevens worden geladen door de toepassing, wordt de functie loaded()
(de gebeurtenishandler voor de gebeurtenis complete
van het object sourceSnd
) aangeroepen. Er wordt een tweede Sound-object, outputSound
, gebruikt om de gewijzigde audio af te spelen. Het object outputSound
is gekoppeld aan de gebeurtenislistener sampleData
. Dit betekent dat na het aanroepen van de methode play()
van het object periodiek sampleData
-gebeurtenissen worden verzonden. De methode upOctave()
retourneert een bytearray met gewijzigde audiogegevens op basis van de bronaudiogegevens. Er wordt audio geretourneerd die één octaaf hoger is door steeds een audio-sample in de brongegevens over te slaan. Niet alle samples worden dus afgespeeld. De gebeurtenishandler voor de gebeurtenis sampleData
schrijft de geretourneerde bytearray weg naar de eigenschap data
van het object outputSound
. De bytearray data
wordt toegevoegd aan het einde van de uitvoeraudiogegevens voor het object outputSound
.
U kunt dit voorbeeld testen door een bestand Test.mp3 toe te voegen aan de map met het SWF-bestand.
var sourceSnd:Sound = new Sound(); var outputSnd:Sound = new Sound(); var urlReq:URLRequest = new URLRequest("test.mp3"); sourceSnd.load(urlReq); sourceSnd.addEventListener(Event.COMPLETE, loaded); function loaded(event:Event):void { outputSnd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); outputSnd.play(); } function processSound(event:SampleDataEvent):void { var bytes:ByteArray = new ByteArray(); sourceSnd.extract(bytes, 4096); event.data.writeBytes(upOctave(bytes)); } function upOctave(bytes:ByteArray):ByteArray { var returnBytes:ByteArray = new ByteArray(); bytes.position = 0; while(bytes.bytesAvailable > 0) { returnBytes.writeFloat(bytes.readFloat()); returnBytes.writeFloat(bytes.readFloat()); if (bytes.bytesAvailable > 0) { bytes.position += 8; } } return returnBytes; }
load | () | methode |
public function load(stream:URLRequest, context:SoundLoaderContext = null):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Initieert het laden van een extern MP3-bestand via de opgegeven URL. Wanneer u een geldig object URLRequest aan de constructor Sound doorgeeft, roept de constructor Sound.load()
aan. U hoeft Sound.load()
alleen zelf aan te roepen wanneer u geen geldig object URLRequest aan de constructor Sound doorgeeft of wanneer u een waarde null
doorgeeft.
Zodra load()
voor een object Sound is aangeroepen, kunt u later geen ander geluidsbestand in dat object Sound laden. Wanneer u een ander geluidsbestand wilt laden, moet u een nieuw object Sound laden.
Houd rekening met het volgende beveiligingsmodel wanneer u deze methode gebruikt:
- Het aanroepen van
Sound.load()
is niet toegestaan wanneer het aanroepende bestand zich in de sandbox Lokaal-met-bestandssysteem bevindt en het geluid zich in een netwerksandbox bevindt. - Toegang vanaf de sandbox Lokaal-vertrouwd of Lokaal-met-netwerk is alleen mogelijk met toestemming van een website via een bestand met URL-beleid.
- U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
- U kunt voorkomen dat een SWF-bestand deze methode gebruikt door de parameter
allowNetworking
in te stellen van de tagsobject
enembed
op de HTML-pagina die de SWF-inhoud bevat.
Als u in Flash Player 10 en hoger een multipart-inhoudstype gebruikt (bijvoorbeeld 'multipart/form-data') dat een upload bevat (aangegeven met de parameter 'bestandsnaam' in een header 'content-disposition' binnen de POST-body), gelden voor de POST-bewerking de beveiligingsregels die van toepassing zijn op uploads:
- De POST-bewerking moet worden uitgevoerd in reactie op een door de gebruiker geïnitieerde actie, zoals het klikken met de muis of het indrukken van een toets.
- Als bij de POST-bewerking verschillende domeinen betrokken zijn (het doel van de POST-bewerking bevindt zich niet op dezelfde server als het SWF-bestand dat de POST-aanvraag verstuurt), moet de doelserver een URL-beleidsbestand leveren dat interdomeintoegang toestaat.
In het geval van een multipart-inhoudstype is het ook essentieel dat de syntaxis juist is (in overeenstemming met de norm RFC2046). Als de syntaxis ongeldig lijkt te zijn, gelden voor de POST-bewerking de beveiligingsregels die van toepassing zijn op uploads.
In Adobe AIR, wordt de inhoud in de beveiligingssandbox application
(inhoud die met de AIR-toepassing is geïnstalleerd) niet door deze beveiligingsbeperkingen gelimiteerd.
Lees voor meer informatie over beveiliging het onderwerp Security in het Flash Player Developer Center.
Parameters
stream:URLRequest — Een URL die wijst naar een extern MP3-bestand.
| |
context:SoundLoaderContext (default = null ) — Een optioneel contextobject SoundLoader, waarin de buffertijd (het minimumaantal milliseconden MP3-gegevens dat in de buffer van het object Sound moet worden vastgehouden) kan worden gedefinieerd en waarin kan worden opgegeven of de toepassing moet controleren op een bestand met interdomeinbeleid voordat het geluid wordt geladen.
|
Gegenereerde uitzondering
IOError — Een netwerkfout heeft ertoe geleid dat het laden mislukt.
| |
SecurityError — Lokale niet-vertrouwde bestanden mogen niet communiceren met internet. U kunt dit omzeilen door dit bestand opnieuw te classificeren als lokaal-met-netwerk of vertrouwd.
| |
SecurityError — U kunt geen verbinding maken met algemeen gereserveerde poorten. Zie "Netwerk-API's beperken" in de Adobe ActionScript 3.0-ontwikkelaarsgids voor een volledige lijst van geblokkeerde poorten.
| |
IOError — De eigenschap digest van het object stream is niet null . U moet de eigenschap digest van een object URLRequest alleen instellen wanneer u tijdens het laden van een SWZ-bestand (een component van het Adobe-platform) de methode URLLoader.load() aanroept.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
In de constructor wordt een object URLRequest
gemaakt om de locatie van het geluidsbestand te identificeren: een podcast van Adobe. Het bestand wordt gedownload in een blok try...catch
om een eventuele fout af te vangen die tijdens het laden van het bestand kan optreden. Wanneer een I/O-fout is opgetreden, wordt de methode errorHandler()
ook aangeroepen en wordt de foutmelding geschreven in het tekstveld voor het voortgangsrapport. Tijdens een laadbewerking wordt een gebeurtenis ProgressEvent.PROGRESS
verzonden en de methode progressHandler()
aangeroepen. Hier wordt de gebeurtenis ProgressEvent.PROGRESS
gebruikt als een timer voor het berekenen van de voortgang van het laden.
De methode progressHandler()
deelt de waarde bytesLoaded
, die door het object ProgressEvent
wordt doorgegeven, door de waarde bytesTotal
om tot een percentage te komen van de geluidsgegevens die worden geladen. Vervolgens worden deze waarden in het tekstveld weergegeven. (Wanneer het bestand klein is of in cache is geplaatst, of wanneer het bestand zich in de lokale map bevindt, is de voortgang mogelijk niet merkbaar.)
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; public class Sound_loadExample extends Sprite { private var snd:Sound = new Sound(); private var statusTextField:TextField = new TextField(); public function Sound_loadExample(){ statusTextField.autoSize = TextFieldAutoSize.LEFT; var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); try { snd.load(req); snd.play(); } catch (err:Error) { trace(err.message); } snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); snd.addEventListener(ProgressEvent.PROGRESS, progressHandler); this.addChild(statusTextField); } private function progressHandler(event:ProgressEvent):void { var loadTime:Number = event.bytesLoaded / event.bytesTotal; var LoadPercent:uint = Math.round(100 * loadTime); statusTextField.text = "Sound file's size in bytes: " + event.bytesTotal + "\n" + "Bytes being loaded: " + event.bytesLoaded + "\n" + "Percentage of sound file that is loaded " + LoadPercent + "%.\n"; } private function errorHandler(errorEvent:IOErrorEvent):void { statusTextField.text = "The sound could not be loaded: " + errorEvent.text; } } }
loadCompressedDataFromByteArray | () | methode |
public function loadCompressedDataFromByteArray(bytes:ByteArray, bytesLength:uint):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3, Flash Player 11 |
laad MP3-geluidsgegevens van een ByteArray-object naar een Sound-object. De gegevens worden gelezen vanaf de huidige ByteArray-positie en bij voltooiing wordt de ByteArray-positie aan het einde van de opgegeven bytelengte verlaten. Als de MP3-geluidsgegevens ID3-gegevens bevatten, worden er ID3-gebeurtenissen verzonden tijdens deze functieaanroep. Deze functie heeft een uitzondering tot gevolg als het ByteArray-object niet voldoende gegevens bevat.
Parameters
bytes:ByteArray | |
bytesLength:uint |
loadPCMFromByteArray | () | methode |
public function loadPCMFromByteArray(bytes:ByteArray, samples:uint, format:String = "float", stereo:Boolean = true, sampleRate:Number = 44100.0):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 3, Flash Player 11 |
Laad PCM 32-bits geluidsgegevens met zwevende-kommawaarde van een ByteArray-object in een Sound-object. De gegevens worden vanaf de huidige ByteArray-positie gelezen en de ByteArray-positie aan het einde van de opgegeven samplelengte, vermenigvuldigd met 1 kanaal of 2 kanalen als de stereomarkering is ingesteld, wordt bij voltooiing verlaten.
Vanaf Flash Player 11.8 kan slechts een beperkte hoeveelheid audiogegevens worden doorgegeven aan deze functie. Voor SWF-versies >= 21 genereert deze functie een uitzondering als de hoeveelheid audiogegevens die in deze functie wordt doorgegeven meer dan 1800 seconden is. Dat wil zeggen dat de samples/sampleRate kleiner dan of gelijk aan 1800 moet zijn. Voor SWF-versies < 21 treedt er een stille runtimefout op wanneer de hoeveelheid audiogegevens die wordt doorgegeven, meer is dan 12.000 seconden. Dit is alleen voor achterwaartse compatibiliteit.
Deze functie genereert een uitzondering als het ByteArray-object onvoldoende gegevens bevat.
Parameters
bytes:ByteArray | |
samples:uint | |
format:String (default = "float ")
| |
stereo:Boolean (default = true )
| |
sampleRate:Number (default = 44100.0 )
|
play | () | methode |
public function play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Genereert een nieuw object SoundChannel om het geluid af te spelen. Deze methode retourneert een object SoundChannel dat u gebruikt om het geluid te stoppen en het volume te controleren. (Wanneer u volume, pannen en balans wilt regelen, gebruikt u het object SoundTransform dat aan het geluidskanaal is toegewezen.)
Parameters
startTime:Number (default = 0 ) — De beginpositie in milliseconden waarop het afspelen moet beginnen.
| |
loops:int (default = 0 ) — Definieert het aantal keren dat een geluid teruggaat naar startTime voordat het geluidskanaal het afspelen stopt.
| |
sndTransform:flash.media:SoundTransform (default = null ) — Het aanvankelijke object SoundTransform dat aan het geluidskanaal is toegewezen.
|
SoundChannel — Een object SoundChannel dat u gebruikt om het geluid te regelen. Deze methode retourneert null wanneer u geen geluidskaart hebt of er wanneer geen geluidskanalen meer beschikbaar zijn. Er zijn maximaal 32 geluidskanalen tegelijk beschikbaar.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
De constructor roept de methode Sound.load()
aan om de geluidsgegevens te laden. Vervolgens wordt de methode Sound.play()
aangeroepen die het afspelen van het geluid start zodra voldoende gegevens zijn geladen. De methode Sound.play()
retourneert een object SoundChannel dat kan worden gebruikt om het afspelen van het geluid te besturen. Het tekstveld geeft de instructies weer. Om te zorgen dat de inhoud waar de gebruiker wil dat het geluid start al is geladen, wordt het Sprite-object bar
gemaakt en weergegeven nadat het bestand is geladen. Wanneer het bestand is geladen, wordt een gebeurtenis Event.COMPLETE
verzonden die de methode completeHandler()
activeert. De methode completeHandler()
maakt vervolgens de balk en voegt deze toe aan het weergaveoverzicht. (Een object sprite wordt in plaats van een object shape gebruikt om interactiviteit te ondersteunen.) Wanneer de gebruiker op de balk klikt, wordt de methode clickHandler()
geactiveerd.
Bij de methode clickHandler()
wordt de positie van de x-coördinaat van de klik van de gebruiker (event.localX
) gebruikt om te bepalen waar hij of zij het bestand wil starten. Aangezien de balk 100 pixels is en het op het x-coördinaat 100 pixels start, is het eenvoudig het percentage van de positie te bepalen. Aangezien het bestand is geladen, heeft de eigenschap length
van het geluidsbestand tevens de lengte van het gehele bestand in milliseconden. Aan de hand van de lengte van het geluidsbestand en de positie op de lijn wordt een beginpunt voor het geluidsbestand bepaald. Nadat het geluid is gestopt met afspelen, start het geluidsbestand opnieuw op de geselecteerde startpositie die als parameter startTime
wordt doorgegeven aan de methode play()
.
package { import flash.display.Sprite; import flash.display.Graphics; import flash.events.MouseEvent; import flash.media.Sound;; import flash.net.URLRequest; import flash.media.SoundChannel; import flash.events.ProgressEvent; import flash.events.Event; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.IOErrorEvent; public class Sound_playExample1 extends Sprite { private var snd:Sound = new Sound(); private var channel:SoundChannel = new SoundChannel(); private var infoTextField:TextField = new TextField(); public function Sound_playExample1() { var req:URLRequest = new URLRequest("MySound.mp3"); infoTextField.autoSize = TextFieldAutoSize.LEFT; infoTextField.text = "Please wait for the file to be loaded.\n" + "Then select from the bar to decide where the file should start."; snd.load(req); channel = snd.play(); snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); snd.addEventListener(Event.COMPLETE, completeHandler); this.addChild(infoTextField); } private function completeHandler(event:Event):void { infoTextField.text = "File is ready."; var bar:Sprite = new Sprite(); bar.graphics.lineStyle(5, 0xFF0000); bar.graphics.moveTo(100, 100); bar.graphics.lineTo(200, 100); bar.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(bar); } private function clickHandler(event:MouseEvent):void { var position:uint = event.localX; var percent:uint = Math.round(position) - 100; var cue:uint = (percent / 100) * snd.length; channel.stop(); channel = snd.play(cue); } private function errorHandler(errorEvent:IOErrorEvent):void { infoTextField.text = "The sound could not be loaded: " + errorEvent.text; } } }
Het geluid wordt in de constructor geladen en er wordt een eenvoudig, rechthoekig sprite-object button
gemaakt. (Een object sprite wordt in plaats van een object shape gebruikt om interactiviteit te ondersteunen.) Hier wordt aangenomen dat het geluidsbestand zich in dezelfde map bevindt als het SWF-bestand. (Er is geen foutafhandelingscode voor dit voorbeeld.)
Twee gebeurtenislisteners zijn ingesteld om op enkele en dubbele muiskliks te reageren. Wanneer de gebruiker eenmaal klikt op de knop, wordt de methode clickHandler()
aangeroepen, die het geluid afspeelt. Wanneer de gebruiker dubbelklikt op de knop, wordt de methode doubleClickHandler()
aangeroepen, die het geluidsbestand tweemaal afspeelt. Het tweede argument van de methode play()
is ingesteld op 1
. Dit houdt in dat het geluid eenmaal een lus uitvoert terug naar de starttijd van het geluid en opnieuw afspeelt. De starttijd, het eerste argument, is ingesteld op 0
. Dit houdt in dat het bestand vanaf het begin wordt afgespeeld.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.media.Sound; import flash.net.URLRequest; public class Sound_playExample2 extends Sprite { private var button:Sprite = new Sprite(); private var snd:Sound = new Sound(); public function Sound_playExample2() { var req:URLRequest = new URLRequest("click.mp3"); snd.load(req); button.graphics.beginFill(0x00FF00); button.graphics.drawRect(10, 10, 50, 30); button.graphics.endFill(); button.addEventListener(MouseEvent.CLICK, clickHandler); button.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler); this.addChild(button); } private function clickHandler(event:MouseEvent):void { snd.play(); } private function doubleClickHandler(event:MouseEvent):void { snd.play(0, 2); } } }
Het bestand wordt in de constructor gedownload in een blok try...catch
om een eventuele fout af te vangen die tijdens het laden van het bestand kan optreden. Er wordt een listener toegevoegd aan het geluidsobject die reageert op een gebeurtenis IOErrorEvent
door de methode errorHandler()
aan te roepen. Een andere listener, die reageert op de gebeurtenis Event.ENTER_FRAME
, wordt voor de hoofdtoepassing toegevoegd. Deze wordt gebruikt als tijdsmechanisme om de voortgang van het afspelen weer te geven. Ten slotte wordt een derde listener toegevoegd voor het geluidskanaal, die reageert op een gebeurtenis Event.SOUND_COMPLETE
(wanneer het geluid is afgespeeld), door de methode soundCompleteHandler()
aan te roepen. De methode soundCompleteHandler()
verwijdert tevens de gebeurtenislistener voor de gebeurtenis Event.ENTER_FRAME
.
De methode enterFrameHandler()
deelt de waarde bytesLoaded
, die door het object ProgressEvent
wordt doorgegeven, door de waarde bytesTotal
om tot een percentage te komen van de geluidsgegevens die worden geladen. Het percentage geluidsgegevens dat wordt afgespeeld, kan worden bepaald door de waarde van de eigenschap position
van het geluidskanaal te delen door de lengte van de geluidsgegevens. Wanneer de geluidsgegevens echter niet volledig zijn geladen, geeft de eigenschap length
van het geluidsobject alleen de grootte van de geluidsgegevens weer die op dat moment zijn geladen. Een schatting van de mogelijke grootte van het gehele geluidsbestand wordt berekend door de waarde length
van het huidige geluidsobject te delen door de waarde van de eigenschap bytesLoaded
, gedeeld door de waarde van de eigenschap bytesTotal
.
Wanneer het bestand klein is of in cache is geplaatst, of wanneer het bestand zich in de lokale map bevindt, is de voortgang van het laden mogelijk niet merkbaar. De vertragingstijd tussen het moment waarop de geluidsgegevens worden geladen en het moment waarop de geladen gegevens worden afgespeeld, wordt bepaald door de waarde van de eigenschap SoundLoaderContext.buffertime
, die standaard 1000 milliseconden bedraagt en die kan worden gereset.
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.Event; import flash.events.IOErrorEvent; public class Sound_playExample3 extends Sprite { private var snd:Sound = new Sound(); private var channel:SoundChannel; private var statusTextField:TextField = new TextField(); public function Sound_playExample3(){ statusTextField.autoSize = TextFieldAutoSize.LEFT; var req:URLRequest = new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"); try { snd.load(req); channel = snd.play(); } catch (err:Error) { trace(err.message); } snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); addEventListener(Event.ENTER_FRAME, enterFrameHandler); channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); this.addChild(statusTextField); } private function enterFrameHandler(event:Event):void { var loadTime:Number = snd.bytesLoaded / snd.bytesTotal; var loadPercent:uint = Math.round(100 * loadTime); var estimatedLength:int = Math.ceil(snd.length / (loadTime)); var playbackPercent:uint = Math.round(100 * (channel.position / estimatedLength)); statusTextField.text = "Sound file's size is " + snd.bytesTotal + " bytes.\n" + "Bytes being loaded: " + snd.bytesLoaded + "\n" + "Percentage of sound file that is loaded " + loadPercent + "%.\n" + "Sound playback is " + playbackPercent + "% complete."; } private function errorHandler(errorEvent:IOErrorEvent):void { statusTextField.text = "The sound could not be loaded: " + errorEvent.text; } private function soundCompleteHandler(event:Event):void { statusTextField.text = "The sound has finished playing."; removeEventListener(Event.ENTER_FRAME, enterFrameHandler); } } }
complete | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.COMPLETE
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt verzonden nadat gegevens zijn geladen.
De constanteEvent.COMPLETE
definieert de waarde van de eigenschap type
van een complete
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het netwerkobject dat klaar is met laden. |
Verwante API-elementen
id3 | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.ID3
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt verzonden door een object Sound wanneer ID3-gegevens beschikbaar zijn voor een MP3-geluid.
De constanteEvent.ID3
definieert de waarde van de eigenschap type
van een id3
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object Sound dat de MP3 laadt waar nu de ID3-gegevens voor beschikbaar zijn. Het target is niet altijd het object in het weergaveoverzicht dat in de gebeurtenislistener is geregistreerd. Gebruik de eigenschap currentTarget voor toegang tot het object in het weergaveoverzicht dat momenteel de gebeurtenis verwerkt. |
Verwante API-elementen
ioError | Gebeurtenis |
flash.events.IOErrorEvent
eigenschap IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt verzonden wanneer een invoer-/uitvoerfout optreedt die ertoe leidt dat een laadbewerking mislukt.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject ioError
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
errorID | Een referentienummer dat aan de specifieke fout is gekoppeld (alleen AIR). |
target | Het netwerkobject dat de invoer-/uitvoerfout ondervindt. |
text | Tekst die moet worden weergegeven als foutbericht. |
Verwante API-elementen
open | Gebeurtenis |
flash.events.Event
eigenschap Event.type =
flash.events.Event.OPEN
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt verzonden wanneer een laadbewerking begint.
De constanteEvent.OPEN
definieert de waarde van de eigenschap type
van een open
-gebeurtenisobject.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het netwerkobject dat de verbinding heeft geopend. |
Verwante API-elementen
progress | Gebeurtenis |
flash.events.ProgressEvent
eigenschap ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt verzonden wanneer gegevens worden ontvangen tijdens een laadbewerking.
Definieert de waarde van de eigenschaptype
van een gebeurtenisobject progress
.
Deze gebeurtenis heeft de volgende eigenschappen:
Eigenschap | Waarde |
---|---|
bubbles | false |
bytesLoaded | Het aantal items of bytes dat wordt geladen wanneer de listener de gebeurtenis verwerkt. |
bytesTotal | Het totale aantal items of bytes dat uiteindelijk wordt geladen wanneer het laadproces is voltooid. |
cancelable | false ; er is geen standaardgedrag om te annuleren. |
currentTarget | Het object dat het gebeurtenisobject actief verwerkt met een gebeurtenislistener. |
target | Het object dat de voortgang rapporteert. |
Verwante API-elementen
sampleData | Gebeurtenis |
flash.events.SampleDataEvent
eigenschap SampleDataEvent.type =
flash.events.SampleDataEvent.SAMPLE_DATA
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Wordt verzonden wanneer het runtime-programma om nieuwe geluidsgegevens vraagt.
Definieert de waarde van de eigenschaptype
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. |
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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();
Verwante API-elementen
package { import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; public class SoundExample extends Sprite { private var url:String = "MySound.mp3"; private var song:SoundChannel; public function SoundExample() { var request:URLRequest = new URLRequest(url); var soundFactory:Sound = new Sound(); soundFactory.addEventListener(Event.COMPLETE, completeHandler); soundFactory.addEventListener(Event.ID3, id3Handler); soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler); soundFactory.load(request); song = soundFactory.play(); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function id3Handler(event:Event):void { trace("id3Handler: " + event); } private function ioErrorHandler(event:Event):void { trace("ioErrorHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: " + event); } } }
Wed Jun 13 2018, 11:42 AM Z