在android系统中,处理了音源逻辑的切换。
在车载项目中,进行导航播报时,需要暂停或者降低多媒体的音量。保证导航的声音优先级高和正常输出。
代码如下:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "Audio Sink";
private static final boolean DBG = true;
private AudioPlayer mMusicPlayer;
private Handler mHandler;
private Context mContext;
private AudioAttributes mMusicAudioAttrib;
private AudioAttributes mNavAudioAttrib;
private AudioAttributes mVrAudioAttrib;
private AudioAttributes mRadioAudioAttrib;
private AudioAttributes mSystemSoundAudioAttrib;
private AudioManager mAudioManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.audio);
mContext = this;
mAudioManager = (AudioManager) mContext.getSystemService(
Context.AUDIO_SERVICE);
mMusicAudioAttrib = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.build();
mMusicPlayer = new AudioPlayer(mContext, R.raw.well_worth_the_wait,
mMusicAudioAttrib);
mNavAudioAttrib = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE)
.build();
mVrAudioAttrib = new

在Android系统中,本文详细介绍了如何在车载项目中实现导航播报时的音频优先级处理,确保导航声音清晰且优先于其他多媒体音频。通过使用AudioFocusRequest和AudioAttributes,可以动态调整音频输出电平,实现导航播报时降低背景音乐音量的功能。
最低0.47元/天 解锁文章
6009

被折叠的 条评论
为什么被折叠?



