40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
#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>;
|