ubica - pasos para insertar sonido a una pelicula en macromedia flash
¿Cómo se reproduce un sonido en Actionscript 3 que no está en el mismo directorio que el SWF? (4)
Tengo un proyecto con muchos sonidos externos para un archivo SWF. Quiero reproducirlos, pero cada vez que intento cargar una nueva URL en el objeto de sonido, falla con "Error # 2068: Sonido no válido" o provoca un error ioError con "Error # 2032 Error de transmisión".
// Intenté con la ruta con el prefijo "http: // .." "file: // .." "// .." y "..")
var path: String = " http: //../assets/the_song.mp3 ";
var url: URLRequest = new URLRequest (ruta);
sonido var: Sonido = sonido nuevo ();
sound.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler);
sound.addEventListener (SecurityErrorEvent.SECURITY_ERROR, secHandler);
sound.load (url);
A menos que vayas a poner una URL completa, no uses http: // o file: //
El sonido puede cargar un archivo mp3 desde una url completa o relativa. Solo necesita asegurarse de que su URL sea correcta y válida.
Por ejemplo, si la ruta completa al archivo es http://www.something.com/assets/the_song.mp3 , una ruta de "/assets/the_song.mp3" funcionaría.
En ambos protocolos, RTMP y HTTP, la ruta debería ser "ruta / a / mp3: archivo.mp3" o "ruta / a / archivo mp3:". Puedo recordar. Por favor, compruebe ambos.
Realmente debería descargar httpfox para Firefox. Este SNIFFER le permite ver qué datos están fluyendo a través de la nave de búsqueda. Puedes ver los archivos que se están cargando, incluidas las rutas a cada uno, e incluso puedes oler las variables POST y GET. Esto le mostrará de dónde se extraen los archivos y, basándose en eso, puede corregir sus rutas relativas en consecuencia.
https://addons.mozilla.org/en-US/firefox/addon/6647
Importante:
Todos los recursos externos llamados desde el SWF son relativos al archivo html que los carga cuando se cargan en la web, no en el SWF. La única excepción, y esto es algo que comenzó con AS3, los FLV son relativos al SWF, no el documento HTML que carga el SWF como cualquier otro activo. Es por eso que los SNIFFERS son una herramienta importante, me rasqué la cabeza por un tiempo hasta que noté que la URL en el sniffer llamaba un camino extraño.
A continuación se muestra cómo puedes cargar el sonido.
var soundRequest:URLRequest = "path/to/file.mp3";
var s:Sound = new Sound(soundRequest);
var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible number to flash.
//Above starts the sound immediatly (Streaming);
//Now to wait for completion instead, pretend we didnt start it before.
s.addEventLister(Event.SOUND_COMPLETE, onSComplete, false, 0, true);
function onSComplete(e:Event):void
{
var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible
}
Bueno, acabo de hacer una prueba colocando un mp3 en un directorio: soundTest/assets/song.mp3
luego creando un swf que llama al mp3 en otro directorio: soundTest/swfs/soundTest.swf
y cuando uso var path:String = "../assets/song.mp3";
luego se compila sin errores.
¿Cuál es su estructura de directorio real?