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

    Streaming e mp3.position incompatibili?!?

    Ciao a tutti!
    Da una ricerchina che ho fatto, sembrerebbe che il caricare audio in streaming e il controllarlo siano 2 cose incompatibili...
    mmmhhh.... :master:

    Ma se uno ha un mp3 di 14 minuti e volesse inserire un bottone per metterlo in pausa? Sarebbe utilissimo, proprio per la lunghezza dell'audio, ma...
    Is it impossible?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Non proprio, solo che position e duration sono inaccurati fino a caricamento completato. In linea teorica questo funziona:

    codice:
    suono = new Sound();
    suono.loadSound("brano.mp3", true);
    pausa = false;
    this.onMouseDown = function()
    {
    	if(!this.pausa){
    		this.time = suono.position;
    		suono.stop();
    	} else {
    		suono.start(this.time / 1000, 1);
    	}
    	this.pausa = !this.pausa;
    }

  3. #3
    ...mmmh...
    ho provato ad adattare il tuo script ma non funzia...
    il problema è che non l'ho capito. Me lo puoi spiegare?
    ...non mi piace fare copia-incolla senza capire!
    Questo è il mio codice originario:
    codice:
    var posizione;
    var played = "si";
    var offset = 0;
    var mp3 = new Sound();
    zzzate_mc.gotoAndStop(1);
    
    play_btn.onPress = function() {
    	load_mp3();
    	played = "si";
    }
    pause_btn.onPress = function() {
    	posizione = mp3.position;
    	offset = posizione/1000;
    	played = "no";
    	mp3.stop();
    	zzzate_mc.stop();
    	clearInterval(a);
    }
    stop_btn.onPress = function() {
    	mp3.stop();
    	played = "no";
    	offset = 0;
    	zzzate_mc.gotoAndStop(1);
    	clearInterval(a);
    	timer_txt.text = "00:00.00";
    }
    function checkPos() {
    	var minutes = 0;
    	var sec = Math.floor(mp3.position/1000);
    	var millisec = Math.floor((mp3.position/10));
    	millisec = millisec > 99 ? millisec - sec*100 : millisec;
    	millisec = millisec < 10 ? "0"+millisec : millisec == 100 ? "00" : millisec;
    	if(sec > 59) {
    		minutes = Math.floor(sec/60);
    		sec = sec - minutes*60;
    	}
    	sec = sec == 0 ? "00" : sec < 10 ? "0"+sec : sec;
    	minutes = minutes < 10 ? "0"+minutes :  minutes;
    	if(played == "si") {
    		timer_txt.text = minutes+":"+sec+"."+millisec;
    	}
    	else {
    		timer_txt.text = "00:00.00";
    	}
    }
    
    function load_mp3() {
    	mp3.loadSound("intervista.mp3", true);
    	mp3.start(offset,1);
    	zzzate_mc.gotoAndPlay(2);
    	a = setInterval(checkPos,60);
    }
    this.onLoad = function() {
    	load_mp3();
    }
    per poter inserire il tuo codice penso di dover cambiare la variabile pausa sui bottoni play, pause e stop, ma non ho capito bene come...
    Ho provato a inserire le azioni sui bottoni all'interno dell'evento onMouseDown, ma mi perdo le variabili...
    Non riesco a resettare il counter se pigio stop, ma l'audio continua inesorabilmente a ripartirmi dall'inizio...

    Per chiarezza, non ho capito bene:
    if(!this.pausa) equivale a if(this.pausa == false) o a che?

  4. #4

  5. #5
    L'oggetto Start viene espresso in secondi e non in millisecondi come gli altri, non so se lo hai preso in considerazione questo ^^
    altrimenti scusa^^

    ciauz

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.