⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio_cap_thread.cpp

📁 视频会议源码
💻 CPP
字号:
///////////////////////////////////////////////////////// FileName:	audio_cap_thread.cpp// Author:		b1gm0use// Project:		myaudio#include <iostream>#include "network.h"#include "audio_cap_thread.h"#include "common.h"#include "audio_cap.h"#include "network_audio_send.h"#include "audio_send.h"#include "avi.h"using namespace std;///////////////////////////////////////////////////////// Public Functions///////////////////////////////////////////////////////// 构造函数// 传入参数为// ap_in 上层AudioPlayer对象指针// stackSize QThread所用的参数audio_cap_thread::audio_cap_thread ( avi * avi_ptr_in, AudioPlayer * ap_in, unsigned int stackSize )		:QThread( stackSize ) // {{{{	verbose_output( 2, "create audio_cap_thread." );	ap = ap_in;	ns = NULL;	as = NULL;	avi_ptr = avi_ptr_in;} // }}}audio_cap_thread::~audio_cap_thread ( void ) // {{{{	delete as;	delete ns;} // }}}// 运行部分,线程代码在这里void audio_cap_thread::run ( void ) // {{{{	int size = 0;		BUFF * image = NULL;	audio_cap * ac = NULL;	verbose_output( 1, "running new audio_cap_thread." );	// 如果是standalone会创建一个audio_cap对象	// 如果是listen会再创建一个network_send对象	ac = new audio_cap( avi_ptr );	ac->init();	if ( avi_ptr->net_mode == LISTEN )	{		verbose_output( 3, "net_mode LISTEN" );		ns = new network_audio_send( avi_ptr );		ns->init();	}	// 创建audio_send对象,用于向主体发送捕捉完毕信号	if ( avi_ptr->net_mode == STANDALONE )	{		as = new audio_send;		as->init( ap );	}	verbose_output( 1, "begin audio capture loop." );	while ( 1 )	{			// 取得一帧		if ( ac->get_image ( image, &size ) == FAILED )		{			cerr << "Warning! get image error" << endl;			continue;		}		if ( image == NULL )		{			cerr << "Can't get new audio frame" << endl;			::exit( 1 );		}		// 发出信号		if ( avi_ptr->net_mode == STANDALONE )		{			as->send_image( image, size );		}		// 如果做为listen方,则向其它connect方传送图像		if ( avi_ptr->net_mode == LISTEN )		{			ns->send_image( image, size );		}	}	return ;} // }}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -