Cómo hacer un sonido de longitud variable en Android
Estoy tratando de hacer una aplicación que reproduce un sonido como un órgano de piano. Cuando el usuario pulsa un botón, reproducirá un sonido parecido a un piano. La dificultad es que el usuario puede mantener su dedo hacia abajo durante cualquier período de tiempo. Cuando levantan el dedo de la debe atenuarse en lugar de detenerse abruptamente.
He jugado con SoundPool y Media Player, pero no parecen adecuados.
- ¿Cómo puedo instanciar un objeto java utilizando JNI (Delphi)
- Deshabilitar todos los efectos de sonido (claves de hardware también) en Android
- Android: Cómo cambiar el tono del sonido de salida (en tiempo real)
- ¿Cómo mostrar archivos de audio en una vista de lista en Android?
- Soluciones alternativas de latencia de audio Android
Hay un montón de aplicaciones de piano por ahí … ¿Alguien sabe cómo resolver este problema?
- Diferenciar RemoteControlClient de los auriculares
- SoundPool de Android tartamudea, retrasa, a veces no juega en absoluto
- Mute Efecto de audio izquierdo / derecho usando sdk Superpowered
- Reproducir un sonido de res / raw
- ¿Cómo evitar que VideoView / MediaPlayer detenga el audio de otras aplicaciones?
- Transmisión de un archivo de audio en android a través de RTP
- Destruye la sesión de Nuance
- Volumen de audio de Android webRTC
Deberá utilizar la clase AudioTrack. El uso básico es escribir sus datos de sonido utilizando el método write()
AudioTrack durante la duración que desee que se escuche. Tendrás que usar un hilo separado para cada voz simultánea que quieras "reproducir".
Aquí está la página de referencia de AudioTrack y aquí hay una entrada de blog donde el autor hace un buen trabajo de mostrar qué hacer sin muchas distracciones.
- Pjsua aplicación hecha por pjsip error de registro de mensajes?
- Mediarecorder de Android Volcado de salida reflejada