if (slider)
{
int value = slider->GetValue();
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "volume:%d front", value);
if (event.GetRotate() > 0)
{
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "222");
value += 20;
if (value > 100)
{
}
else
{
- value -= 10;
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "111");
+ value -= 20;
if (value < 0)
{
value = 0;
}
}
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "volume:%d", value);
- if (value >= 100 || value <= 0)
- {
- return;
- }
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "volume:%d end", value);
do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_TYPE_CHANGE_SYSTEM_VOLUME, (void *)(&value), sizeof(value));
}
}
{\r
if(mail.msg_data && mail.msg_len!=0)\r
{\r
- if(server_handle == 200)\r
+ if(server_handle == 200 ||server_handle == 201 )\r
{\r
- AIStreamWrite(mail.msg_data,mail.msg_len);\r
+ if(server_handle == 201)\r
+ {\r
+ AIStreamWrite(NULL,1);\r
+ }\r
+ else\r
+ {\r
+ AIStreamWrite(mail.msg_data,mail.msg_len);\r
+ }\r
+ \r
}\r
else{\r
if(server_handle==2)\r
}\r
blesrv_mail.msg_data=0;\r
\r
- if(type == 200)\r
+ if(type == 200 || type == 201)\r
{\r
\r
blesrv_mail.service_handle = type;\r
errcode_t tts_server_init(void);
// void tts_server_deinit(void);
+uint8 tts_break =0;
+
+void uapi_set_tts_break(uint8_t data)
+{
+ tts_break=data;
+}
+
+uint8_t uapi_get_tts_break(void)
+{
+ return tts_break;
+}
void uapi_UI_start_asr(void)
{
+ if(bk_websocket_tts_tick!=0)
+ {
+ // uapi_tts_paly_stop();
+ tts_server_deinit();
+ send_msg_data_into_Ai_msg_queue((uint8_t *)"tts_recv_buf",13,201);
+
+ tts_break=1;
+ tts_reconnect=1;
+ while (tts_break)
+ {
+ LOS_Msleep(10);
+ }
+ LOS_Msleep(50);
+ }
asr_need_stop=0;
asr_server_init();
}
-
- if(bk_websocket_tts_tick!=0)
- {
- tts_server_deinit();
- tts_reconnect=1;
- }
}
while (client_count)
{
- tts_client = init_websocket_client("ws://118.145.158.207:22080/tts/stream?audio_buffer_size=576",NULL,0);
+ tts_client = init_websocket_client("ws://118.145.158.207:22080/tts/stream?audio_buffer_size=1024",NULL,0);
if (tts_client== NULL)
{
else if(type==WS_TEXT)
{
printf("bk_websocket_demo %s %d %d\n",tts_recv_buf,bk_websocket_tts_tick,(uint32_t)osKernelGetTickCount());
+
+ send_msg_data_into_Ai_msg_queue((uint8_t *)tts_recv_buf,len,201);
bk_websocket_tts_tick=0;
// tts_paly();
}
void tts_server_deinit(void);
+void uapi_set_tts_break(uint8_t data);
+uint8_t uapi_get_tts_break(void);
uint8_t get_ai_asr_service_init_flag(void);
void set_ai_asr_service_init_flag(uint8_t flag);
CHK_NULL_RETURN(impl_, false, "impl_ is nullptr");
- if(streamType == AUDIO_STREAM_MUSIC || streamType == AUDIO_STREAM_A2DP_MUSIC || streamType == AUDIO_STREAM_NOTIFICATION_SYSTEM)
+ if(streamType == AUDIO_STREAM_MUSIC || streamType == AUDIO_STREAM_A2DP_MUSIC || streamType == AUDIO_STREAM_NOTIFICATION_SYSTEM
+ || streamType == AUDIO_STREAM_VOICE_ASSISTANT)
{
if(volume == 0)
volume = 0;
-int32_t AIStreamWrite(uint8_t *buf, uint32_t size)
+int32_t AIStreamWrite(uint8_t *buf, uint32_t size)
{
int32_t ret = 0;
+ if(buf==NULL && size==1)
+ {
+ MEDIA_ERR_LOG("AIStreamWrite end");
+ uapi_set_tts_break(0);
+ return -1;
+ }
+ if(uapi_get_tts_break())
+ {
+ MEDIA_ERR_LOG("uapi_get_tts_break");
+ return -1;
+ }
+
// 原有流写入逻辑
- if (g_stream_out_downink)
+ if (g_stream_out_downink)
{
+ StreamWrite_retry:
+
uint64_t writeLen = 0;
AudioRendererConfig renderConfig;
- ret = g_stream_out_downink->StreamWrite(buf, size, writeLen, renderConfig);
- LOS_Msleep(30);
- if (ret < 0) {
+ if (g_stream_out_downink)
+ {
+ ret = g_stream_out_downink->StreamWrite(buf, size, writeLen, renderConfig);
+ MEDIA_ERR_LOG("StreamWrite writeLen %d\r\n", writeLen);
+ }
+ else
+ {
+ return -1;
+ }
+
+ int sleep_time = 0;
+ if (sleep_time % 288)
+ {
+ sleep_time = writeLen / 288 + 1;
+ }
+ else
+ {
+ sleep_time = writeLen / 288;
+ }
+
+ LOS_Msleep(sleep_time * 17);
+
+ if (ret < 0)
+ {
MEDIA_ERR_LOG("StreamWrite failed");
+ goto StreamWrite_retry;
}
}