Obtener amplitud de audio con su fuente / objeto / streamType

¿Puede alguien por favor me ayude a encontrar alguna manera de encontrar la amplitud de diferentes audioPlayer con la aplicación? Necesito saber la amplitud del audio de videoCall en mi aplicación.

Ejemplo en mi aplicación Tengo una función videoPlayer (youtube) y videoCall. Así que cuando consigo videoCall, necesito detener el sonido del videoPlayer cuando alguien habla en videoCall. ¿Hay alguna manera de encontrar eso?

He encontrado un método para obtener la amplitud de audio del teléfono, pero esto proporciona la amplitud de todo tipo de audios que juegan en la aplicación sin enviar ningún identificador de fuente o streamType ( MUSIC_STREAM o CALL_STREAM ) o cualquier cosa diferente con la que puedo identificar la fuente de amplitud dada como Su de jugador o videoCalls.

Esto sólo ayudará si voy a proporcionar audioSessionId de AudioPlayer en Visualizer (audioSessionId), pero no puedo obtener audioSessionId de cualquier jugador (videoCall, youtube), debido a ThirdPartySDK.

 private void createVisualizer(){ int rate = Visualizer.getMaxCaptureRate(); Visualizer audioOutput = new Visualizer(0); // get output audio stream audioOutput.setDataCaptureListener(new Visualizer.OnDataCaptureListener() { @Override public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) { float intensity = ((float) waveform[0] + 128f) / 256; Log.d("visualizer = ", "visualizer = "+visualizer+ "visualizer = "+String.valueOf(intensity)); } @Override public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) { } },rate , true, false); // waveform not freq data Log.d("rate", String.valueOf(Visualizer.getMaxCaptureRate())); audioOutput.setEnabled(true); } 

Cualquier sugerencia sería útil, Gracias de antemano.

  • InputStream no se cerrará, o tardará una
  • ¿Puedo usar Firebase Storage para la transmisión de música en línea?
  • Transmisión de audio a través de socket TCP en Android
  • Stream y reproducir audio de la aplicación Android a cualquier altavoz disponible como A2DP, altavoces de coche etc
  • Clase Java que funciona como una aplicación pero no como un applet
  • ¿Qué debo usar aparte del paquete `javax.net.sampled` para manejar la transmisión de audio?
  • Cómo obtener la duración de Audio Stream y continuar la transmisión de audio desde cualquier punto
  • Cómo crear streaming de audio en vivo entre dos móviles con Android usando la programación de socket ..?
  • MediaPlayer detiene la reproducción de audio en streaming
  • Android MediaPlayer devuelve el error (1, -1004) al intentar reproducir algunos flujos
  • Transmisión de audio a un dispositivo a través de MediaRouter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.