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.