Existem várias maneiras de incorporar recursos de som em um aplicativo Flex, incluindo:
-
Usar a tag de metadados
[Embed]
em um script
-
Usar a diretiva
@Embed
no MXML para atribuir um recurso incorporado como uma propriedade de um componente, como Button ou SoundEffect.
-
Usar a diretiva
@Embed
dentro de um arquivo CSS.
Esta seção descreve a primeira opção: como incorporar sons no código ActionScript dentro de um aplicativo Flex usando a tag de metadados
[Embed]
.
Para incorporar um ativo no código ActionScript, use a tag de metadados
[Embed]
.
Coloque o arquivo de som na pasta de origem principal ou em outra pasta que esteja no caminho de criação do projeto. Quando o compilador do encontra uma tag de metadados Embed, ele cria a classe de ativos incorporada para você. É possível acessar a classe por meio de uma variável de tipo de dados Class que pode ser declarada imediatamente após a tag de metadados
[Embed]
.
O código a seguir incorpora um som denominado smallSound.mp3 e usa uma variável denominada
soundClass
para armazenar uma referência à classe de ativos incorporada associada àquele som. Em seguida, o código cria uma ocorrência da classe de ativos incorporada, projeta-a como uma ocorrência da classe Sound e chama o método
play()
naquela ocorrência:
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 usar o som incorporado para definir uma propriedade de um componente Flex, ele deve ser projetado como uma ocorrência da classe mx.core.SoundAsset em vez de uma ocorrência da classe Sound. Para obter um exemplo semelhante que usa a classe SoundAsset, consulte "Classes de ativos incorporadas" em Aprendendo o ActionScript 3.0.