Toelichting bij de geluidsarchitectuur

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Uw toepassingen kunnen geluidsgegevens uit vijf hoofdbronnen laden:

  • Externe geluidsbestanden die tijdens runtime worden geladen

  • Geluidsbronnen die zijn ingesloten in het SWF-bestand van de toepassing

  • Geluidsgegevens via een microfoon die op het systeem van de gebruiker is aangesloten

  • Geluidsgegevens die worden gestreamd vanaf een externe mediaserver, zoals Flash Media Server

  • Geluidsgegevens die dynamisch worden gegenereerd met behulp van de gebeurtenishandler sampleData .

Geluidsgegevens kunnen volledig worden geladen voordat deze worden afgespeeld, maar geluidsgegevens kunnen ook worden gestreamd. Dit betekent dat de gegevens worden afgespeeld, terwijl deze nog worden geladen.

De geluidsklassen van ActionScript 3.0 ondersteunen geluidsbestanden die zijn opgeslagen in de MP3-indeling. Geluidsbestanden in andere indelingen, zoals WAV of AIFF, kunnen niet rechtstreeks worden geladen of afgespeeld. Maar vanaf Flash Player 9.0.115.0 kunnen AAC-geluidsbestanden worden geladen en afgespeeld met de klasse NetStream. Dit is dezelfde techniek die wordt gebruikt voor het laden en afspelen van video-inhoud. Zie Werken met video voor meer informatie over deze techniek.

Als u Adobe Flash Professional gebruikt, kunt u WAV- of AIFF-geluidsbestanden importeren en vervolgens in de MP3-indeling in de SWF-bestanden van uw toepassing insluiten. Het Flash-ontwerpgereedschap biedt u ook de mogelijkheid om ingesloten geluidsbestanden te comprimeren om zo hun bestandsgrootte te beperken. Deze inkrimping gaat overigens wel ten koste van de geluidskwaliteit. Zie 'Geluiden importeren' in Flash gebruiken voor meer informatie.

De ActionScript 3.0-geluidsarchitectuur maakt gebruik van de volgende klassen uit het pakket flash.media.

Klasse

Beschrijving

flash.media.Sound

De Sound-klasse handelt het laden van geluid af, beheert elementaire geluidseigenschappen en start het afspelen van geluid.

flash.media.SoundChannel

Wanneer een toepassing een object Sound afspeelt, wordt een nieuw object SoundChannel gemaakt voor de besturing van het afspelen. Het object SoundChannel bestuurt het volume van het linker- en rechterafspeelkanaal van het geluid. Elk geluid dat wordt afgespeeld, heeft een eigen object SoundChannel.

flash.media.SoundLoaderContext

De klasse SoundLoaderContext bepaalt hoeveel seconden buffering er wordt gebruikt bij het laden van een geluid, en of Flash Player of AIR bij het laden van een bestand zoekt naar een beleidsbestand van de server. Er wordt object een SoundLoaderContext als parameter voor de methode Sound.load() gebruikt.

flash.media.SoundMixer

De SoundMixer-klasse bestuurt de afspeel- en de beveiligingseigenschappen van alle geluiden in een toepassing. Meerdere geluidskanalen worden middels een gemeenschappelijk object SoundMixer met elkaar gecombineerd, wat betekent dat eigenschapwaarden in het object SoundMixer betrekking hebben op alle objecten SoundChannel die momenteel worden afgespeeld.

flash.media.SoundTransform

De klasse SoundTransform bevat waarden waarmee geluidsvolume en panning worden bestuurd. Een object SoundTransform kan onder meer op een afzonderlijk object SoundChannel, op het algemene object SoundMixer of op een object Microphone worden toegepast.

flash.media.ID3Info

Een ID3Info-object bevat eigenschappen die ID3-metagegevens vertegenwoordigen. Deze gegevens zijn vaak opgeslagen in MP3-geluidsbestanden.

flash.media.Microphone

De klasse Microphone vertegenwoordigt een microfoon of ander geluidsinvoerapparaat dat op de computer van de gebruiker is aangesloten. Audio-invoer via een microfoon kan naar lokale luidsprekers worden geleid of naar een externe server worden verzonden. Het object Microphone bestuurt de versterking, de bemonsteringsfrequentie en andere kenmerken van de eigen geluidsstream.

flash.media.AudioPlaybackMode

De klasse AudioPlaybackMode definieert constanten voor de eigenschap audioPlaybackMode van de klasse SoundMixer.

Elk geluid dat wordt geladen en afgespeeld, heeft zijn eigen instantie van de klasse Sound en de klasse SoundChannel nodig. De uitvoer van meerdere instanties SoundChannel wordt vervolgens tijdens het afspelen met elkaar gecombineerd via de algemene klasse SoundMixer.

De klassen Sound, SoundChannel en SoundMixer worden niet gebruikt voor geluidsgegevens die worden verkregen via een microfoon of vanaf een streaming-mediaserver zoals Flash Media Server.