ByteBufferAsShortBuffer no se puede convertir en java.nio.FloatBuffer

Tengo el siguiente error al ejecutar proyecto. ¿Puede alguien ayudarme?

Java.lang.ClassCastException: java.nio.ByteBufferAsShortBuffer no se puede convertir en java.nio.FloatBuffer

Aquí está mi código:

Buffer[] samples = frame.samples; if (aaD.track.getChannelCount() == 1) //For using with mono track { Buffer b = samples[0]; fb = ((ByteBuffer) b.rewind()).asFloatBuffer();//here is error fb.rewind(); smpls = new float[fb.capacity()]; fb.get(smpls); } 

Por favor ayuda

One Solution collect form web for “ByteBufferAsShortBuffer no se puede convertir en java.nio.FloatBuffer”

Así que la solución no era tan elegante como había pensado. Veo por qué preguntaste. No pude encontrar una manera de hacer lo que quieres hacer sin asignar memoria extra.

Esta es una manera rápida y sucia de mover el ShortBuffer a un FloatBuffer .

  public FloatBuffer fBuffer(){ ShortBuffer sb = ShortBuffer.allocate(4); sb.put(new short[]{256,256,128,64}); short[] shortArr = sb.array(); ByteBuffer bb = ByteBuffer.allocate(shortArr.length * 2); bb.asShortBuffer().put(shortArr); return bb.asFloatBuffer(); } 

Si el rendimiento es crítico y estás haciendo muchas de estas operaciones, es una buena idea buscar utilizando código nativo (C / C ++) para manipular bytes directamente o usar algo como Renderscript.

  • El servicio de Android no funciona como singleton
  • Mensaje de error de Logcat: intento de destruir la barrera con un conteo no nulo
  • No se encontró el elemento de fuente de ejecución de Android Runtime
  • Json a clases de datos kotlin
  • Preload de imágenes múltiples con Glide
  • Mi listview no rellena el padre
  • SimpleDateFormat ParseException: Unparseable date Error
  • Creación de un componente o biblioteca redistribuible para Android
  • Conectar el dispositivo android a través de MQTT con ssl
  • Cómo recibir la última emisión de secuencia al llamar a rx.Observable.sample ()?
  • Tabla de referencia local de JNI de Android Expand
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.