#include "audio_stream_out.h"
#include "audio_errors.h"
#include "wearable_log.h"
+#include "audio_manager_c_wrapper.h"
#ifdef __cplusplus
extern "C" {
static AudioSession g_sessionId;
static AudioInterrupt g_interrupt;
+int32 PhoneAudioGetCAT1MinVolume(void)
+{
+ int32 ret= g_amInstance.GetMinVolume(AUDIO_STREAM_VOICE_CALL_VOLTE);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",ret);
+ return ret;
+}
+
+int32 PhoneAudioGetCAT1MAXVolume(void)
+{
+ int32 ret= g_amInstance.GetMaxVolume(AUDIO_STREAM_VOICE_CALL_VOLTE);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",ret);
+ return ret;
+}
+
+int32 PhoneCAT1AudioGetVolume(void)
+{
+ int32 ret= g_amInstance.GetVolume(AUDIO_STREAM_VOICE_CALL_VOLTE);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d",ret);
+ return ret;
+}
+
+
+bool PhoneCATAudioSetVolume(int32 volume)
+{
+ return g_amInstance.SetVolume(AUDIO_STREAM_VOICE_CALL_VOLTE, volume);
+}
+
+
+
int32 PhoneAudioGetMinVolume(void)
{
return g_amInstance.GetMinVolume(AUDIO_STREAM_VOICE_CALL_BT_SCO);
return g_amInstance.SetVolume(AUDIO_STREAM_VOICE_CALL_BT_SCO, volume);
}
+
// 设置通话speaker静音/取消静音
bool PhoneAudioSetSpeakerMute(bool isMute)
{
bool PhoneAudioSetMicMute(bool isMute)
{
bool ret;
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[PhoneAudioSetMicMute] start");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[PhoneAudioSetMicMute] start");
ret = g_amInstance.IsMicrophoneMute();
if (ret == isMute) {
return true;
}
ret = g_amInstance.SetMicrophoneMute(isMute);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[PhoneAudioSetMicMute] end! ret = %d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[PhoneAudioSetMicMute] end! ret = %d", ret);
+
+ AudioStreamOutSetMute(isMute);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[AudioStreamOutSetMute] end! ret = %d", ret);
+
return ret;
}
// hfp音量范围 0-15, media 音量范围 0-100
unsigned char GetCallCurrVolume(void)
{
- int32_t volume = PhoneAudioGetVolume();
- int32_t minVolume = PhoneAudioGetMinVolume();
- int32_t maxVolume = PhoneAudioGetMaxVolume();
- unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换
+ if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1)
+ {
+ int32_t volume = PhoneCAT1AudioGetVolume();
+ int32_t minVolume = PhoneAudioGetCAT1MinVolume();
+ int32_t maxVolume = PhoneAudioGetCAT1MAXVolume();
+ unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换
+
+ if (volume != 0 && hfpVolume == 0) {
+ hfpVolume = 1;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d",
+ volume, minVolume, maxVolume, hfpVolume);
+ return hfpVolume;
+ }
+ else
+ {
+ int32_t volume = PhoneAudioGetVolume();
+ int32_t minVolume = PhoneAudioGetMinVolume();
+ int32_t maxVolume = PhoneAudioGetMaxVolume();
+ unsigned char hfpVolume = (unsigned char)((volume * CALL_VOLUME_MAX) / (maxVolume - minVolume)); // 转换
+
+ if (volume != 0 && hfpVolume == 0) {
+ hfpVolume = 1;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d",
+ volume, minVolume, maxVolume, hfpVolume);
+ return hfpVolume;
- if (volume != 0 && hfpVolume == 0) {
- hfpVolume = 1;
}
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[GetCallCurrVolume] volume:%d, minVolume:%d, maxVolume:%d, hfpVolume:%d",
- volume, minVolume, maxVolume, hfpVolume);
- return hfpVolume;
+
}
void SetSpeakerVolume(unsigned char hfpVolume)
{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] start, hfpVolume:%d", hfpVolume);
- int32_t minVolume = PhoneAudioGetMinVolume();
- int32_t maxVolume = PhoneAudioGetMaxVolume();
- int32_t volume = hfpVolume * (maxVolume - minVolume) / CALL_VOLUME_MAX; // 转换
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] minVolume:%d, maxVolume:%d, volume:%d",
- minVolume, maxVolume, volume);
-
- int32_t ret = PhoneAudioSetVolume(volume);
- if (!ret) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] PhoneAudioSetVolume ret:%d", ret);
- return;
+ if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] start, CallSourceCat1:%d", hfpVolume);
+ int32_t minVolume = PhoneAudioGetCAT1MinVolume();
+ int32_t maxVolume = PhoneAudioGetCAT1MAXVolume();
+ int32_t volume = hfpVolume * (maxVolume - minVolume)/ CALL_VOLUME_MAX;// 转换
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] minVolume:%d, maxVolume:%d, volume:%d",
+ minVolume, maxVolume, volume);
+
+ int32_t ret = PhoneCATAudioSetVolume(volume);
+ if (!ret) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] PhoneAudioSetVolume ret:%d", ret);
+ return;
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] success!");
}
+ else
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] start, hfpVolume:%d", hfpVolume);
+ int32_t minVolume = PhoneAudioGetMinVolume();
+ int32_t maxVolume = PhoneAudioGetMaxVolume();
+ int32_t volume = hfpVolume * (maxVolume - minVolume) / CALL_VOLUME_MAX; // 转换
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] minVolume:%d, maxVolume:%d, volume:%d",
+ minVolume, maxVolume, volume);
- ret = hfp_hf_set_volume(&g_bdAddr, HFP_VOLUME_SPEAKER, hfpVolume);
- if (ret != ERRCODE_BT_SUCCESS) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] set_volume ret:%d, hfpVolume:%d",
- ret, hfpVolume);
- return;
+ int32_t ret = PhoneAudioSetVolume(volume);
+ if (!ret) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] PhoneAudioSetVolume ret:%d", ret);
+ return;
+ }
+
+ ret = hfp_hf_set_volume(&g_bdAddr, HFP_VOLUME_SPEAKER, hfpVolume);
+ if (ret != ERRCODE_BT_SUCCESS) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] set_volume ret:%d, hfpVolume:%d",
+ ret, hfpVolume);
+ return;
+ }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] success!");
}
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[SetSpeakerVolume] success!");
+
return;
}