任何人都可以帮助我找到任何方式来找到在应用程序中不同audioPlayer的幅度?我需要知道我的应用程序中videoCall音频的幅度。获取其源/对象/流类型的音频幅度
在我的应用程序中的示例我有一个videoPlayer(youtube)和videoCall功能。因此,当我收到videoCall时,我需要在videoCall发言时减慢/停止videoPlayer的声音。有什么方法可以找到?
我发现了一个方法来获取手机的audioPlayer的幅度,但是这提供了所有类型的音频在app玩的幅度而不发送源或流类型(MUSIC_STREAM
或CALL_STREAM
)的任何标识或使用,我可以找出来源不同的任何东西给定幅度的像播放器或videoCalls。
这只会帮助我在Visualizer(audioSessionId)中提供AudioPlayer的audioSessionId,但由于ThirdPartySDK,我无法获取任何播放器的audioSessionId(videoCall,youtube)。
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);
}
任何建议将有所帮助,提前致谢。
为什么有人给-1点? – NehaK
这个问题显示了这是多么困难: - https://stackoverflow.com/questions/31616084/retrieving-the-application-name-that-has-audio-focus-change –
@NehaK你想完成什么?这两个玩家都是你的应用的一部分吗或者你确实在谈论其他应用程序? –