Ljudarkitekturen

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Programmen kan läsa in ljuddata från fem huvudkällor:

  • Externa ljudfiler läses in vid körning

  • Inbäddade ljudobjekt i programmets SWF-fil

  • Ljuddata från en mikrofon som är ansluten till användarens system

  • Ljuddata direktuppspelat från en fjärrmediaserver, t.ex. Flash Media-server

  • Ljuddata skapas dynamiskt via händelsehanteraren sampleData.

Ljuddata kan antingen vara läsas in helt innan de spelas upp eller direktuppspelas, vilket betyder att de spelas upp medan inläsningen pågår.

Du kan använda ljudfiler som är lagrade i MP3-format i ActionScript 3.0-klasser. Det går inte att direkt läsa in eller spela upp ljudfiler i andra format som WAV eller AIFF. Från och med Flash Player 9.0.115.0 kan emellertid AAC-ljudfiler läsas in och spelas upp med klassen NetStream. Detta är samma teknik som används för att läsa in och spela upp videoinnehåll. Mer information om den här tekniken finns i Arbeta med video.

I Adobe Flash Professional kan du importera WAV- eller AIFF-ljudfiler och bädda in dem i programmets SWF-filer i MP3-format. Med Flash-utvecklingsverktyget kan du komprimera inbäddade ljudfiler för att minska filstorleken men det försämrar ljudkvaliteten. Mer information finns i ”Importera ljud” i Använda Flash.

ActionScript 3.0 ljudarkitektur använder följande klasser i flash.media-paketet.

Klass

Beskrivning

flash.media.Sound

Klassen Sound hanterar inläsning av ljud och grundläggande ljudegenskaper samt startar en uppspelning av ljudet.

flash.media.SoundChannel

När programmet spelar upp ett Sound-objekt, skapas ett nytt SoundChannel-objekt för styrning av uppspelningen. SoundChannel-objektet styr ljudvolymen i både vänstra och högra uppspelningskanalerna. Varje ljud som spelas upp har sitt eget SoundChannel-objekt.

flash.media.SoundLoaderContext

I klassen SoundLoaderContext anges hur många sekunders buffring som ska användas vid inläsning av ljud och om Flash Player och AIR ska söka efter en principfil på servern när en fil läses in. Ett SoundLoaderContext-objekt används som parameter till metoden Sound.load().

flash.media.SoundMixer

Klassen SoundMixer styr uppspelnings- och säkerhetsegenskaper som rör alla ljud i ett program. I själva verket så blandas flera ljudkanaler genom ett allmänt SoundMixer-objekt, vilket innebär att egenskapsvärden i SoundMixer-objektet påverkar alla SoundChannel-objekt som spelas upp just nu.

flash.media.SoundTransform

Klassen SoundTransform innehåller värden som styr ljudvolym och panorering. Ett SoundTransform-objekt kan användas på ett individuellt SoundChannel-objekt, på det globala SoundMixer-objektet eller ett Microphone-objekt bland annat.

flash.media.ID3Info

Ett ID3Info-objekt innehåller egenskaper som representerar ID3-metadatainformation som ofta lagras i MP3-ljudfiler.

flash.media.Microphone

Klassen Microphone representerar en mikrofon eller andra ljudindataenheter som anslutits till användarens dator. Ljudindata från en mikrofon kan dirigeras till lokala högtalare eller skickas till en fjärrserver. Objektet Microphone styr förstärkningen, samplingsfrekvensen och andra egenskaper i sitt eget ljudflöde.

Varje ljud som läses in och spelas upp behöver sin egen instans av klassen Sound och klassen SoundChannel. Utdata från flera SoundChannel-instanser blandas sedan av den globala klassen SoundMixer under uppspelningen.

Klasserna Sound, SoundChannel och SoundMixer används inte för ljuddata från en mikrofon eller vid direktuppspelning från en medieserver som Flash Media-server.