Flex uygulamasında ses varlıklarını gömmenin birçok yolu vardır, örneğin:
Bir komut dosyasında [Embed] meta veri etiketini kullanma
Button veya SoundEffect gibi bir bileşenin özelliği olarak gömülü bir varlığı atamak için MXML'de @Embed direktifini kullanarak.
CSS dosyasında @Embed direktifini kullanarak
Bu bölümde birinci seçenek açıklanmaktadır: [Embed] meta veri etiketini kullanarak Flex uygulamasında ActionScript koduna sesleri gömme.
ActionScript koduna bir varlık gömmek için, [Embed] meta veri etiketini kullanın
Ses dosyasını ana kaynak klasörüne veya projenizin oluşturma yolundaki başka bir klasöre yerleştirin. Derleyici bir Embed meta veri etiketiyle karşılaşırsa, sizin için gömülü varlık sınıfını oluşturur. [Embed] meta veri etiketinden hemen sonra bildirdiğiniz bir Class veri türündeki değişken üzerinden sınıfa erişebilirsiniz.
Aşağıdaki kod, smallSound.mp3 adındaki bir sesi gömer ve o sesle ilişkilendirilmiş gömülü varlık sınıfının bir başvurusunu saklamak için soundClass adındaki bir değişkeni kullanır. Kod daha sonra gömülü varlık sınıfının bir örneğini oluşturur, Sound sınıfının bir örneği olarak çevirir ve o örnekte play() yöntemini çağırır:
package
{
import flash.display.Sprite;
import flash.media.Sound;
import flash.media.SoundChannel;
public class EmbeddedSoundExample extends Sprite
{
[Embed(source="smallSound.mp3")]
public var soundClass:Class;
public function EmbeddedSoundExample()
{
var smallSound:Sound = new soundClass() as Sound;
smallSound.play();
}
}
}
Flex bileşeninin bir özelliğini ayarlamak üzere gömülü sesin kullanılması için, gömülü sesin Sound sınıfının bir örneği olarak değil, mx.core.SoundAsset sınıfının bir örneği olarak çevrilmesi gerekir. SoundAsset sınıfını kullanan benzer bir örnek için, ActionScript'i Öğrenme bölümündeki "Gömülü varlık sınıfları" başlığını inceleyin.