Domanda

Ho un progetto con un sacco di suoni esterni per un SWF. Voglio riprodurli, ma ogni volta che tento di caricare un nuovo URL nell'oggetto sonoro con cui fallisce,

  

Errore n. 2068: suono non valido

o genera un ioError con

  

Errore n. 2032 Errore flusso

// Provato con il percorso preceduto da " http: //.." & Quot; lima: //.." & Quot; //.." e " .. ")

var path:String = "http://../assets/the_song.mp3";

var url:URLRequest = new URLRequest( path );

var sound:Sound = new Sound();

sound.addEventListener( IOErrorEvent.IO_ERROR, ioErrorHandler);

sound.addEventListener( SecurityErrorEvent.SECURITY_ERROR, secHandler);

sound.load(url);
È stato utile?

Soluzione

Bene, ho appena fatto un test mettendo un mp3 in una directory: soundTest / assets / song.mp3 quindi creando un file swf che chiama l'mp3 in un'altra directory: soundTest /swfs/soundTest.swf e quando uso var path: String = " ../ assets / song.mp3 " ;; quindi viene compilato senza errori.

Qual è la tua attuale struttura di directory?

Altri suggerimenti

A meno che tu non abbia intenzione di inserire un URL completo, non utilizzare http: // o file: //

L'audio può caricare un file mp3 da un URL completo o relativo. Devi solo assicurarti che l'URL sia corretto e valido.

Ad esempio, se il percorso completo del file è http: //www.something. com / assets / the_song.mp3 , un percorso di " /assets/the_song.mp3" funzionerebbe.

Dovresti davvero scaricare httpfox per FireFox. Questo SNIFFER ti consente di vedere quali dati scorrono nel browser. Puoi vedere il caricamento dei file, inclusi i percorsi per ciascuno, e persino annusare le variabili POST e GET. Questo ti mostrerà da dove vengono estratti i file e in base a ciò puoi correggere i tuoi percorsi relativi di conseguenza.

https://addons.mozilla.org/en-US/firefox / addon / 6647

Importante:

Tutte le risorse esterne chiamate dal file SWF sono relative al file html che le carica quando vengono caricate sul Web, non dal file SWF. L'unica eccezione, e questo è qualcosa che è iniziato con AS3, i FLV sono relativi al file SWF, non al documento HTML che carica il file SWF come ogni altra risorsa. Questo è il motivo per cui SNIFFERS è uno strumento importante, mi sono grattato la testa per un po 'fino a quando ho notato che l'URL nello sniffer stava chiamando uno strano percorso.

Di seguito è riportato come caricare l'audio.

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 }

In entrambi i protocolli, RTMP e amp; HTTP, il percorso dovrebbe essere - " path / to / mp3: file.mp3 " oppure " percorso / to / mp3: file " ;. Posso ricordare. Controlla entrambi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top