Hay muchas maneras de incorporar activos de sonido en una aplicación Flex, como:
-
Utilizar la etiqueta de metadatos
[Embed]
en un script
-
Usar la directiva
@Embed
en MXML para asignar un activo incorporado como una propiedad de un componente, como Button o SoundEffect.
-
Utilizar la directiva
@Embed
dentro de un archivo CSS
Esta sección explica la primera opción: cómo incorporar código ActionScript en una aplicación Flex usando la etiqueta de metadatos
[Embed]
.
Para incorporar un activo en código ActionScript, utilice la etiqueta de metadatos
[Embed]
.
Coloque el archivo de sonido en la carpeta principal de código fuente o en otra carpeta situada en la ruta de compilación del proyecto. Cuando el compilador encuentra una etiqueta de metadatos Embed, crea automáticamente la clase de activo incorporado. Se puede acceder a la clase mediante una variable del tipo de datos Class declarada inmediatamente después de la etiqueta de metadatos
[Embed]
.
El código siguiente incorpora un sonido llamado smallSound.mp3 y utiliza una variable denominada
soundClass
para almacenar una referencia a la clase del activo incorporado asociado a ese sonido. A continuación, el código crea una instancia de la clase del activo incorporado, la convierte en una instancia de la clase Sound y llama al método
play()
de dicha instancia:
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();
}
}
}
Para utilizar el sonido incorporado para establecer una propiedad de un componente Flex, debería convertirse como en instancia de la clase mx.core.SoundAsset en lugar de en una instancia de la clase Sound. Para ver un ejemplo parecido que utilice la clase SoundAsset, consulte Clases de activos incorporados.