Commit 3dc5c345 authored by 957dd's avatar 957dd

Merge branch 'feature/aduino_play_reduce_bug' into 'master'

解决了音频播放的延时bug,比较重要 See merge request !87
parents 344147fb b7b16012
No preview for this file type
...@@ -79,7 +79,7 @@ void tank0206_mode_right_back(unsigned char gval) { ...@@ -79,7 +79,7 @@ void tank0206_mode_right_back(unsigned char gval) {
} }
} }
void tank0206_change(unsigned char *buf) { void tank0206_change(unsigned char *buf) {
unsigned char mode = buf[1]; unsigned char mode = buf[1];
unsigned char val = buf[2]; unsigned char val = buf[2];
static int modecount_tank0206=0; static int modecount_tank0206=0;
......
...@@ -199,7 +199,7 @@ int hardware_iic_config() { ...@@ -199,7 +199,7 @@ int hardware_iic_config() {
// 如果不需要修改,直接退出 // 如果不需要修改,直接退出
if (!need_modify) { if (!need_modify) {
my_zlog_info("文件无需修改,程序退出。"); my_zlog_info("文件无需修改,返回。");
return 10; return 10;
} }
......
...@@ -27,7 +27,7 @@ void audioplay_mqtt_receive(cJSON *json) { ...@@ -27,7 +27,7 @@ void audioplay_mqtt_receive(cJSON *json) {
// 解析"key"字段 // 解析"key"字段
cJSON *key_char = cJSON_GetObjectItemCaseSensitive(json, "key"); cJSON *key_char = cJSON_GetObjectItemCaseSensitive(json, "key");
if (cJSON_IsString(key_char) && (key_char->valuestring != NULL)) { if (cJSON_IsString(key_char) && (key_char->valuestring != NULL)) {
my_zlog_debug("音频链接: %s", key_char->valuestring); my_zlog_debug("音频链接KEY: %s", key_char->valuestring);
char *key=key_char->valuestring; char *key=key_char->valuestring;
snprintf(keybuf, sizeof(keybuf), "%s", key); snprintf(keybuf, sizeof(keybuf), "%s", key);
} else { } else {
...@@ -90,12 +90,13 @@ void audioplay_cycle(){ ...@@ -90,12 +90,13 @@ void audioplay_cycle(){
char *urlmoddle=urlbuf; char *urlmoddle=urlbuf;
snprintf(command, sizeof(command), snprintf(command, sizeof(command),
"sudo ffplay -nodisp -autoexit -loglevel quiet -af \"volume=%1f\" \"%s\"", "sudo ffplay -nodisp -autoexit -loglevel quiet -af \"volume=%.1f\" \"%s\"",
audio_volume,urlmoddle); audio_volume,urlmoddle);
my_zlog_debug("播放地址: %s\n", urlbuf); my_zlog_debug("播放地址: %s", urlbuf);
my_zlog_info("执行播放命令: %s", command);
ret = system(command); ret = system(command);
if (ret == -1) { if (ret != 0) {
my_zlog_error("播放失败"); my_zlog_error("播放失败");
audio_status=2; audio_status=2;
} }
...@@ -112,7 +113,7 @@ void audioplay_cycle(){ ...@@ -112,7 +113,7 @@ void audioplay_cycle(){
video_tts_play(); video_tts_play();
delay_us(500); delay_us(800);
} }
} }
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
#define AUDIOPLAY_H #define AUDIOPLAY_H
#include <cjson/cJSON.h> #include <cjson/cJSON.h>
// extern int audio_status;
void audioplay_mqtt_receive(cJSON *body); //接收音频mqtt播放函数 void audioplay_mqtt_receive(cJSON *body); //接收音频mqtt播放函数
void audioplay_cycle();//音频播放线程中函数 void audioplay_cycle();//音频播放线程中函数
......
...@@ -19,6 +19,7 @@ void delay_s(int sec) { ...@@ -19,6 +19,7 @@ void delay_s(int sec) {
/*us*/ /*us*/
void delay_us(int usec) { void delay_us(int usec) {
struct timespec ts; struct timespec ts;
ts.tv_sec =0;
ts.tv_nsec = usec*1000; // 1毫秒 = 1000000纳秒 ts.tv_nsec = usec*1000; // 1毫秒 = 1000000纳秒
nanosleep(&ts,NULL); nanosleep(&ts,NULL);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment