Sound class, Sample rate de 8khz?
Bonjour, existe-t-il un bug connu à l'intérieur de la classe Sound qui serait en lien avec le load d'un mp3 qui a un sample rate de 8000 samples/sec?
La classe sound semble détecter mon MP3 comme étant ~ 44100 samples/sec (ce qui est faux).
Deuxième question: la propriété bytesTotal de la classe Sound me retourne un nombre qui correspond au nombre de seconde de mon MP3. Pourtant un mp3 qui a un sample rate de 8khz encodé en 64 bits devrait se calculer comme cela, non?
bytesTotal = (seconde * 8000 * 64) / 8
Merci.
Voici un exemple de code qui m'a permit de calculer le sample rate de l'objet sound (d'une manière + ou - précise mais qui donne un bon aperçu qu'il y a un problème):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
var windowSize:Number = 100; //309 samples = 1 window
var buffer:ByteArray = new ByteArray();
var samplePosition:Number = 0;
trace("length (ms): " + file.length);
trace("file.bytesTotal: " + file.bytesTotal);
while (file.extract(buffer, windowSize, samplePosition) >= windowSize) {
buffer.position = 0;
while (buffer.bytesAvailable) {
var max:Number = 0;
var newValue:Number = buffer.readFloat();//left
buffer.readFloat();//right
if (newValue > max)
max = newValue;
}
buffer.clear();
samplePosition += windowSize;
}
trace("SampleRate: " + Tools.round2Decimals((samplePosition + windowSize) / file.length)); |