2011-07-25 22 views
7

tengo un problema con ActionScript 3, especialmente cuando se utiliza la etiqueta embed. Tengo este código:Insertar mp3 en ActionScript 3 no funciona

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

...

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

Cuando pruebo la película, me sale el siguiente resultado: 4501.923 Cuál es la longitud sound.mp3 en milisegundos. Sin embargo, el sonido original es 13,000 milisegundos.

¿Cómo puede ser posible, ¿alguien puede ayudar por favor?

Gracias.

+0

¿Cómo le va al 4501.923 ¿estás seguro que esa es la duración y no la longitud? –

+0

4501,923 es la duración del soundClip en milisegundos. Longitud de sonido - "La duración del sonido actual en milisegundos". –

+1

¿Está seguro de que bytesLoaded = bytesTotal en el momento en que está probando Sound.length. Dependiendo de si los metadatos se codificaron al final del archivo o al comienzo, es posible que obtenga resultados falsos. –

Respuesta

-3

No creo que se puede cargar el MP3 así como así, es necesario ponerlo en un archivo SWF en primer lugar, a continuación, cargar el archivo SWF, entonces ejemplo el sonido. Mire here y here.

+2

De hecho, puede cargar mp3 (e imágenes) de esa manera. Si lo intenta en la herramienta de edición de Flash, primero obtendrá una ventana emergente que le informará que está utilizando una función de Flex. Esa misma ventana emergente le permitirá actualizar automáticamente su ruta de Flex SDK, entonces está listo para comenzar. Si compila sus archivos SWF a través de mlxmlc, es bastante bueno comenzar de inmediato. Vea este enlace: http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html – Bakapii

1

proceso La Insertar implica una transcodificación (hecho por el compilador), si el sonido no encaja en el formato Flash de sonido compatible con Reproductor puede obtener resultados inesperados, como la longitud encogido. Verifique que los sonidos que incruste estén a 44100 Hz estéreo, que es la frecuencia de muestreo admitida que no causará ningún problema.

¡Salud!

0

el audio podría tener problemas para ser transcodificado debido a su velocidad de muestreo. un buen estándar es 44100Hz, pero he tenido 11025Hz funcionando perfectamente bien también. puede cambiar fácilmente la frecuencia de muestreo en segundos en casi cualquier archivo de audio a través de Audacity, que es gratuito y bastante potente, pero difícilmente intuitivo.