Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    player per flusso audio

    ciao a tutti.
    la cosa è a mio parere tanto semplice quanto assurda,
    di seguito ho postato una parte del codice della mia classe radio.as e premesso che l url del flusso
    per altro flusso southcast mp3 è questo ("http://188.165.60.234:8000/")
    quindi richiamo la funzione cosi this.carica("http://188.165.60.234:8000/");
    e va tutto bene
    se eseguo il filmato fyuori dal browser funziona perfettamente
    se faccio un anteprima con flash fuori dal browser è OK è perfetto
    se lo carico sul server o se mando l anteprima su explorer o firefox.... NADA
    nn va, sara di certo una questione di protezione come se nn leggesse flussi al di fuori del dominio che ne so
    ho settato anche always
    <param name="allowScriptAccess" value="always" />
    ma nulla

    in pratica sto cercando di fare un lettore per una radio, so bene che ce ne sono a centinaia, ma non mi servono.
    ora la domanda che faccio è questa, perche se metto online il file swf non funziona e se invece lo mando dall anteprima di flash funziona?

    grazie anticipatamente

    codice:
    package 
    {
    	import adobe.utils.*;
    	import flash.accessibility.*;
    	import flash.display.*;
    	import flash.errors.*;
    	import flash.events.*;
    	import flash.geom.*;
    	import flash.media.*;
    	import flash.net.*;
    	import flash.system.*;
    
    
    	public dynamic class radio extends MovieClip {
    
    	public function radio()
    	{
    		addFrameScript(0,this.frame1);
    		return;
    	}
    
    	public var musicSoundChannel:SoundChannel;
    	public var musicSound:Sound = new Sound();
    	public var song_position:Number;
    
    	public function carica(myurl:String):void
    	{
    
    		var urlRequest:URLRequest = new URLRequest(myurl);
    
    		this.musicSound.load(urlRequest);
    		this.musicSoundChannel = this.musicSound.play();
    	}
    
    	public function certo(arg1:ProgressEvent):void
    	{
    		trace(musicSound.bytesLoaded);
    	}
    
    
    /*
    parte di codice omessa, tanto inutile al funzionamento, il drag del volume lo stop il play ecc ecc
    
    */
    
    
    	internal function frame1():*
    	{
    		this.btn_play.addEventListener(flash.events.MouseEvent.CLICK, this.FUNplay);
    		this.btn_stop.addEventListener(flash.events.MouseEvent.CLICK, this.FUNstop);
    		this.btn_radio1.addEventListener(flash.events.MouseEvent.CLICK, this.FUNradio1);
    		this.btn_radio2.addEventListener(flash.events.MouseEvent.CLICK, this.FUNradio2);
    		this.musicSound.addEventListener(ProgressEvent.PROGRESS,this.certo);
    		slider_mc.knob_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragKnob);
    		addEventListener(MouseEvent.MOUSE_UP, releaseKnob);
    		this.carica("http://188.165.60.234:8000/");
    		return;
    	}

  2. #2
    Hai centrato esattamente il problema.
    E' la Security SendBox di Flash che blocca il flusso dati proveniente da domini esterni a quello in cui gira l'SWF.
    Bisogna pubblicare sul dominio 188...ecc.. un file chiamato crossdomain.xml che contenga il seguente codice:

    codice:
    <cross-domain-policy> <allow-access-from domain=”*”> </ cross-domain-policy>
    Quindi specificare all'inizio del tuo script: Security.allowDomain("*");

    Cmq qui dovresti trovare l'occorrente: http://www.designswan.com/archives/a...y-sandbox.html
    Fabio Bernardi - Web Developer
    Adobe Certified Expert Flash - Adobe|Guru
    www.faber04.com || www.faber04blog.com

  3. #3
    perfetto, ti ringrazio per la risposta, però nn mi è chiara 1 cosa
    se uso un player di quelli che ti danno gratis su quei siti tipo wavestream o tanti altri, mi funziona benissimo anche se il player è su altro dominio.
    credimi davvero ci sto impazzendo
    ho decompilato vari player e vedo che tutti usano lo stesso script mio
    davvero nn capisco, questa radio questo server gia mi funziona cn altri player non residenti qui http://188.165.60.234:8000/ sempre player flash
    che usano questo sistema
    public var musicSoundChannel:SoundChannel;
    public var musicSound:Sound = new Sound();
    public var song_position:Number;

    provero questo all inizio del mio script anche se ricordo di averlo gia fatto, cmq riprovo

    Security.allowDomain("*");


    grazie ciao

  4. #4
    Il codice che indichi non riguarda eventuali accessi o blocchi di sicurezza, semplicemente crea delle variabili per la gestione del flusso audio.

    In teoria (visto che non puoi pubblicare crossdomani.xml nel dominio della radio) dovrebbe bastare Security.allowDomain("*");

    E incrociare le dita!
    Fabio Bernardi - Web Developer
    Adobe Certified Expert Flash - Adobe|Guru
    www.faber04.com || www.faber04blog.com

  5. #5
    ciao
    il codice che ho postato prima era solo per far capire che cn questo stesso sistema in altri player funziona.
    cmq nulla
    ho provato e nulla nn va
    in locale mi funziona perfettamente se lo pubblico nn va
    ma ripeto la cosa assurda è che questa stessa radio
    quel server lo uso da 2 anni
    cn decine di player flash fra i piu svariati
    e tutti residenti su server diversi compresi il mio
    se ne vado a creare io uno
    non funziona
    è assurdo
    col file mp3 è lo stesso
    se il file si trova nello stesso domino, funziona
    altrimenti nn va
    quindi capisco cosa tu mi stai dicendo e infatti ho aggiunto il codice che mi hai inviato
    ma nulla
    pero nn capisco come possa funziona allora cn altri player
    che sistema usano questi player?
    perche un altro semplice player flash esegue il flusso da quell indirizzo
    mentre il mio player no?

    ho pensato, vabbe forse usa il netconnection e fa lo streaming
    e quindi ho decomplilato, e assurdo
    usa il mio stesso metodo
    certo aggiunge funzioni sulla gestione della memoria
    perche va gestita in un certo modo
    vista la quantita di dati che scarica, manda in esecuzione e poi dovrebbe liberare
    ma questo nn c entra nulla è una cosa in piu
    , cmq grazie per l aiuto
    credo che al momento nn abbia capito il perche di sto fatto.
    se hai 1 idea fammi sapere grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.