¿Biblioteca de sonido nativa en Android que puede cambiar de tono?
Estoy confundido en cuanto a cómo establecer la afinación nativa en Android. Intenté alterar la muestra de sonido nativo del NDK que usa OpenSL ES, pero obtengo un SL_RESULT_FEATURE_UNSUPPORTED para prácticamente cualquier cosa relacionada con la afinación al solicitar la interfaz. Interfaces intentados: SL_IID_PITCH, SL_IID_RATEPITCH, SL_3DDOPPLER
// create audio player const SLInterfaceID ids[3] = { SL_IID_BUFFERQUEUE, SL_IID_PITCH, SL_IID_VOLUME}; const SLboolean req[3] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; result = (*engineEngine)->CreateAudioPlayer(engineEngine, &bqPlayerObject, &audioSrc, &audioSnk, 3, ids, req); assert(SL_RESULT_SUCCESS == result);
El resultado es siempre SL_RESULT_UNSUPPORTED
- Control del volumen de audio forzado a altavoz
- Android AlertDialog congela la aplicación unos segundos después de mostrarse - la causa parece relacionada con OpenSL
- ¿Es posible obtener un búfer de bytes directamente desde un activo de audio en OpenSL ES (para Android)?
- Android 2.3.4, OpenSL ES y enorme log-spam por razones desconocidas
- ¿Cuáles deberían ser las razones para usar OpenSL ES en lugar de AudioTrack en Android?
Mi objetivo es android-19. He intentado muchos otros también en vano. ¿Estoy haciendo algo mal? ¿Existe alguna alternativa que no requiera el uso de Java?
¡Gracias!
- reproducir un archivo MP3 android NDK utilizando openSL desde la memoria
- Reproducción de audio de baja latencia en Android
- Comunicación de voz a una frecuencia de muestreo de 8KHz para todos los dispositivos Android con OpenSL
- ¿Es necesario liberar un buffer final de un reproductor de audio OpenSL ES?
- Precisamente Sync Looped Audio con animación en Android
- Tutoriales para OpenSL ES para Android
- Transmisión de audio MP3 mediante comunicación de socket mediante OpenSL ES en Android
- Alternativa de OpenSL ES en Android
Android tiene una implementación mínima de OpenSL, y ninguna de esas interfaces son compatibles. Puede encontrar una descripción de lo que se admite (y lo que se ha agregado) en los documentos de NDK, o aquí – el enlace es exactamente el mismo que la documentación del NDK.
Desafortunadamente, no hay alternativa fácil además de escribir su propio algoritmo para alterar los datos de PCM.
El Synthesis ToolKit (STK) tiene un efecto de cambio de tono que puede funcionar para usted. https://ccrma.stanford.edu/software/stk/
Como señaló Dave, no hay solución nativa. En la actualidad, yo diría que Android no es el lugar para buscar un buen soporte de audio nativo.
- ¿Cómo colocar un ProgressBar dentro del ListView?
- El emulador de Android gira pero la aplicación no vuelve a dibujar