2011-07-25 16 views
7

Ho un problema con actionscript 3, in particolare quando si utilizza il tag embed. Ho questo codice:L'incorporamento di mp3 in ActionScript 3 non funziona

[Embed(source = "sound.mp3")]
private static var soundClip:Class;

...

var sound:Sound = (new soundClip()) as Sound;
trace(sound.length);

quando verifico il film, ottengo il seguente output: 4501.923 che è la lunghezza sound.mp3 in millisecondi. Tuttavia, il suono originale è 13.000 millisecondi.

Come può essere possibile, qualcuno può aiutarmi per favore?

Grazie.

+0

come stai ottenendo il 4501,923 sei sicuro che è la durata e non la lunghezza? –

+0

4501,923 è la durata della clip audio in millisecondi. Sound.length - "La lunghezza del suono corrente in millisecondi." –

+1

Sei sicuro di bytesLoaded = bytesTotal nel momento in cui stai testando Sound.length. A seconda se i metadati sono stati codificati alla fine del file o all'inizio si potrebbero ottenere risultati falsi. –

risposta

-3

Non penso che tu possa caricare l'MP3 proprio così, devi prima metterlo in un SWF, quindi caricare il file SWF, quindi istanziare il suono. Guarda here e here.

+2

In realtà è possibile caricare mp3 (e immagini) del genere. Se lo provi nello strumento di creazione di Flash, ti verrà prima visualizzato un popup che ti informa che stai utilizzando una funzione Flex. Lo stesso pop-up ti permetterà di aggiornare automaticamente il tuo percorso Flex SDK, quindi sei a posto. Se si compilano i file SWF tramite mlxmlc, si è abbastanza bravi a fare il pipistrello. Vedi questo link: http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html – Bakapii

1

Il processo di incorporamento implica una transcodifica (creata dal compilatore), se il suono non si adatta al formato audio di Flash Player supportato, è possibile ottenere risultati imprevisti, come la lunghezza ridotta. Verificare che i suoni incorporati siano stereo a 44100 Hz, ovvero la frequenza di campionamento supportata che non causerà alcun problema.

Cheers!

0

l'audio potrebbe avere problemi di transcodifica a causa della sua frequenza di campionamento. un buon standard è 44100Hz, ma ho avuto 11025Hz funzionano perfettamente bene. è possibile modificare facilmente la frequenza di campionamento in pochi secondi su quasi tutti i file audio tramite Audacity, che è gratuito e abbastanza potente, ma difficilmente intuitivo.

Problemi correlati