HumanRender/human_render/LiveRoom/Const.h

40 lines
1.4 KiB
C
Raw Permalink Normal View History

2024-12-19 17:46:41 +00:00
#pragma once
#include <vector>
//定义程序需要的常量
extern int Frame_width;
extern int Frame_height;
#define Audio_share_memory_name "audio_audio_cache"
#define Video_share_memory_name "video_cache"
#define Index_Share_memory_name "audio_audio_cache-writer"
#define Bota_Video_Read_Share_memory_name "bota_video_read_frame"
#define Speech_Id_Cache_Share_memory_name "speech_id_cache"
#define Mask_share_memory_name "mask_cache"
#define Background_file_name "E:/hyg/img00001.jpg" //背景图像存放的全路径名称
#define END_FLAG_SHARE_MEMORY_NAME "speak_end_flag"
#define Share_memory_frame_count 125 //25*5
#define Audio_sample_rate 16000 //采样频率
#define Audio_channel_count 1 //通道数量
#define Audio_bit_width 16 //位宽
#define Audio_buffer_size_per_get Audio_sample_rate * 1 *2 /25 //每次从音频共享缓冲中取音频的大小
extern int Video_buffer_size_per_get; //每次从视频共享缓冲中取视频的大小
extern int Video_buffer_channel;
#define Speech_Id_Cache_buffer_size_per_get 128 //每次从视频共享缓冲中取视频的大小
#define End_flag_buffer_size_per_get 4 //每次从音频共享缓冲中取音频的大小
//#define
template <typename T>
class RenderImpl {
public:
virtual ~RenderImpl() = default;
virtual void OnRender(const T& data) = 0;
};
using VoiceData = std::vector<unsigned char>;
using VoiceRender = RenderImpl<VoiceData>;