需要进行以下步骤:

  1. 修改系统配置文件

在/system/etc目录下找到audio_policy.conf文件,将以下两行代码注释掉:

sampling_rates 44100|48000
input_sampling_rates 44100

然后添加以下代码:

sampling_rates 44100
input_sampling_rates 44100

这样就可以避免音频重采样。

  1. 修改AudioService.java文件

在frameworks/base/services/core/java/com/android/server/audio目录下找到AudioService.java文件,找到以下代码:

mRingtonePlayer.setPlaybackCallback(mAudioCallback);

在该代码下面添加以下代码:

mRingtonePlayer.setPlaybackStream(AudioSystem.STREAM_RING);
mRingtonePlayer.setPlaybackDevice(AudioSystem.DEVICE_OUT_SPEAKER);

这样就可以将来电铃声输出到外置扬声器。

  1. 输出到外置声卡

需要使用OTG线连接外置声卡,然后在系统设置中将声音输出设备设置为外置声卡即可。

以上就是在安卓系统中避免音频重采样、输出到外置声卡并让来电铃声外放的解决方案。

安卓系统中避免音频重采样源码输出到外置声卡并让来电铃声外放的解决方案

原文地址: https://www.cveoy.top/t/topic/bRj4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录