#pragma once #include #include #include // 取一帧视频对应的音频数据n int Audio_share_memory_get_oneframe(unsigned char* pAudiobuffer_per, LPVOID pAudio_Memory); // 取一帧视频数据 int Video_share_memory_get_oneframe(unsigned char* pVideobuffer_per, LPVOID pVideo_Memory); //取當前的共享內存中的索引 DWORD Index_share_memory_get_cur_index(LPVOID pIndex_Memory); //获得当前正在播放的视频对应的index DWORD get_cur_play_video_index(); //将当前播放视频的index 写入到读共享内存中 //这个index值为:0,1,2,3。。。。124 ,没帧对应的时长为 40毫秒 void Bota_Video_Read_share_memory_set_cur_index(LPVOID pRead_Memory); //設置的共享內存中的索引,蔣當前的值/6400,如為2,則表示第二個0.2秒的音視頻都好了 void Index_share_memory_set_cur_index(DWORD curIndex); //當前的index知道的共享內存中的data是否已經播放完 BOOL current_index_data_is_played_over(DWORD curIndex); // 取一帧视频图片数据对应mask图片数据,没有内存拷贝 unsigned char* Mask_share_memory_get_oneframe_Ex(LPVOID pMask_Memory); // 取一帧视频数据 unsigned char* Video_share_memory_get_oneframe_Ex(LPVOID pVideo_Memory); // 获得当前readindex视频对应的音频数据,没有内存拷贝 unsigned char* Audio_share_memory_get_oneframe_Ex(LPVOID pAudio_Memory, LPVOID pEndFlag_Memory); // 获得当前readindex视频对应的SpeechId std::string Speech_Id_Cache_get_oneframe_Ex(LPVOID pAudio_Memory); //从音频共享内存中区中区一帧视频对应的音频数据,播放(这里是异步的) int audio_one_frame_play_Ex(HWAVEOUT hwo, unsigned char* paudioData, DWORD dwBufferLength); //判断当前播放帧的位置是否在内存中的位置的前面,则是服务端慢了 BOOL Server_is_slow(DWORD curIndex, DWORD memIndex); //读的index + 1 void Memory_read_index_add();