Música de fondo para la llamada
Quiero desarrollar una aplicación que reproducir música de fondo para una llamada, y es audible sólo para el llamador y listener.¿Existe alguna aplicación que ya está disponible, es posible en android ???
- Transferencia de llamadas de un dispositivo a otro a través de Bluetooth
- Detectando la llamada saliente y el evento de hangup de llamada en android
- Cómo definir devoluciones de llamada en Android?
- Cómo redireccionar una llamada de un número a otro en android
- Añadir PhoneStateListener
- Retrofit 2.0 Convertor devuelve NULL
- Cómo detectar llamadas entrantes de Skype / Viber
- Establecimiento de una etiqueta en una llamada de Retrofit para cancelar por etiqueta más tarde
- Trigger touch callout en iOS / android
- Android 4.0.3 y actividad final
- Cómo cambiar la voz de la persona mientras está llamando a otra persona durante la conversación por el código de Android
- Intención de ser despedido cuando termina una llamada?
- Implementación del método de devolución de llamada en Android
Algunas plataformas móviles soportan esta funcionalidad a nivel de plataforma (por ejemplo, he probado esto con el Qualcomm APQ8064 donde había configurado la ruta de códec de hardware en consecuencia y funciona). Pero Android no tiene una API que le permite utilizar esto como desarrollador de aplicaciones, por lo que en un teléfono no enraizado no hay realmente nada que pueda hacer.
¿Por qué no hay API para ello – o si habrá uno en las próximas versiones de Android – No lo sé. Puede haber problemas legales en algunos mercados, o podría ser simplemente porque se considera como una característica semi-oscura que no ven una gran demanda y que es apoyado sólo por un número relativamente pequeño de plataformas.
Otra cosa a considerar es, ¿ realmente quieres tener música tocando en segundo plano durante una llamada?
El audio va a ser de 8 kHz mono (o 16 kHz mono si estás en una llamada de banda ancha), y va a ser AMR-codificado junto con el resto de la señal de voz (AMR es un códec de baja tasa de bits diseñado para codificación del habla). En otras palabras, cualquier música que juegues sobre la llamada de voz uplink va a sonar muy, muy mal.
ACTUALIZACIÓN: Para los teléfonos basados en APQ8064 en los que tiene acceso root, el procedimiento sería algo como esto (no recuerdo la sintaxis exacta en la parte superior de mi cabeza):
audioManager.setParameters("incall_music_enabled=true"); // Execute the following using eg Runtime.exec() amix 'SLIMBUS_4_RX Audio Mixer MultiMedia2' 1 aplay -Dhw:0,1 mono_8khz_data.pcm // When you want to stop music playback, stop the aplay process, and then do audioManager.setParameters("incall_music_enabled=false");
actualmente no hay manera de hacer esto ya que el hardware no lo admite.
- Transferencia de archivos Bluetooth en Android (incluso tipos restringidos)
- Actualización del ejemplo HelloJni