2010-11-06 4 views
0

Я разрабатываю звуковое приложение.java sound byte array преобразования

javax.sound.sampled.TargetDataLine считывает из входного канала в 16 битном формате

У меня есть приложение 3 участника, который читает в 32 бит на ByteBuffer

как я могу конвертировать/интерпретировать эти 32 бита ByteBuffer в 16 бит массив байтов?

ответ

0

может быть СМТ как (без проверки, только идеи):

//32 -> 16 
for(int i = 0; i < newarray.length; i += 2){ 
    newarray[i] = oldarray[i/2] & ~0 << 16; 
    newarray[i+1] = oldarray[i/2] & ~0 >> 16; 
}