2011-06-17 1 views
0

J'essaie de créer un lecteur avec EQ, obtenir les données dans l'objet Sound, mais pour une raison quelconque avec le point désiré pour le jouer, je ne peux pas le jouer à partir de le début de la piste.Problème lors de la lecture d'un objet Sound avec le point désiré

_out_snd.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound); 
    _channel = _out_snd.play(pos); 

function processSound(event:SampleDataEvent):void { 

    _samples = new ByteArray(); 
    var len:Number = buf[trackDesc].sound.extract(_samples, BUFFER_SIZE); 
    var i:int=0; 
    var l:Number; 
    var r:Number; 

    if (len < BUFFER_SIZE) { // If end of MP3, start over 
     len += buf[trackDesc].sound.extract(_samples,BUFFER_SIZE-len,0); 
    } 
    _samples.position = 0; 
    while (i < BUFFER_SIZE) { 
     event.data.writeFloat(_eqL.compute(_samples.readFloat())); 
     event.data.writeFloat(_eqR.compute(_samples.readFloat())); 
     i++; 
    } 
} 

s'il vous plaît aider, merci à l'avance :)

+0

Avez-vous étudié? ComputeSpectrum –

+0

à mon avis, il n'y a absolument rien à faire avec, computeSpectrum crée un instantané de l'onde sonore actuelle et le place dans l'objet ByteArray spécifié/ –

+0

Ah je ai pris ce que vous essayez de faire. –

Répondre

0

Après avoir tout gagné la position de la piste

var len:Number = buf[trackDesc].sound.extract(_samples, BUFFER_SIZE,event.position); 
Questions connexes