mt6735 如何在通话中播放音乐/通话背景音
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
默认的架构下,通话过程中不能播放音乐,也没有实现通话背景音,如何实现?
[SOLUTION]
1.修改AudioService.java,实现通话中播放音乐
private boolean canReassignAudioFocus() {
// focus requests are rejected during a phone call or when the phone is ringing
// this is equivalent to IN_VOICE_COMM_FOCUS_ID having the focus
if (!mFocusStack.isEmpty() && IN_VOICE_COMM_FOCUS_ID.equals(mFocusStack.peek().mCLIentId)) {
return true; //这里的false改为true
}
return true;
}
2.再修改AudiomtkStreamOut.cpp ssize_t AudioMTKStreamOut::write(const void *buffer, size_t bytes),可实现通话背景音
{
。
case android_audio_legacy::AudioSystem::MODE_IN_CALL:
case android_audio_legacy::AudioSystem::MODE_IN_CALL_2:
pBGSPlayer->Open(pSpeechDriver, 0x0, 0xFF); //修改为pBGSPlayer->Open(pSpeechDriver, 0xFF, 0xFF); 第一个参数表示Uplink Gain,第二个参数是Downlink Gain
。
}
默认的架构下,通话过程中不能播放音乐,也没有实现通话背景音,如何实现?
[SOLUTION]
1.修改AudioService.java,实现通话中播放音乐
private boolean canReassignAudioFocus() {
// focus requests are rejected during a phone call or when the phone is ringing
// this is equivalent to IN_VOICE_COMM_FOCUS_ID having the focus
if (!mFocusStack.isEmpty() && IN_VOICE_COMM_FOCUS_ID.equals(mFocusStack.peek().mCLIentId)) {
return true; //这里的false改为true
}
return true;
}
2.再修改AudiomtkStreamOut.cpp ssize_t AudioMTKStreamOut::write(const void *buffer, size_t bytes),可实现通话背景音
{
。
case android_audio_legacy::AudioSystem::MODE_IN_CALL:
case android_audio_legacy::AudioSystem::MODE_IN_CALL_2:
pBGSPlayer->Open(pSpeechDriver, 0x0, 0xFF); //修改为pBGSPlayer->Open(pSpeechDriver, 0xFF, 0xFF); 第一个参数表示Uplink Gain,第二个参数是Downlink Gain
。
}