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

📄 callaudio.h

📁 kphone-4.2,SHELL协议的VOIP电话
💻 H
字号:
#ifndef CALLAUDIO_H_INCLUDED#define CALLAUDIO_H_INCLUDED#include <qobject.h>#include <qstring.h>#include <sys/types.h>#include "../dissipate2/sdp.h"#include "../dissipate2/udpmessagesocket.h"class DspAudio;class SipCall;class SipCallMember;class KPhoneView;class DspAudioJackOut;class DspAudioJackIn;enum audiomodeType {	oss,	alsa,	jack };class CallAudio : public QObject{	Q_OBJECTpublic:	CallAudio( KPhoneView *phoneview );	~CallAudio( void );	void setAudiomode( QString str );	void setOSSFilename( const QString &devname );	void setOSSFilename2( const QString &devname );	const QString &getOSSFilename( void ) const { return ossfilename; }	const QString &getOSSFilename2( void ) const { return ossfilename2; }	void setALSADevicename( const QString &devname );	void setVideoSW( const QString &sw );	const QString &getVideoSW( void ) const { return videoSW; }	// Call attachment	void attachToCallMember( SipCallMember *newmember );	void detachFromCall( void );	void toggleOnHold( void );	void renegotiateCall( void );	void startDTMF(char code); // Start DTMF tone generation	void stopDTMF(void);  // Stop DTMF tone generation	// Returns a session description for sending in responses	SdpMessage audioOut( void );	// Call tracking	void setCurrentCall( SipCall *newcall );	SipCall *getCurrentCall( void ) const { return curcall; }	bool isRemoteHold( void );	// Settings	void saveAudioSettings( void );	void readAudioSettings( void );	void readVideoSettings( void );	void setPayload( int newPayload ) { payload = newPayload; }	bool isAudioOn( void );	// Set/reset symmetric mode	void setSymMediaMode( bool yesno ) { symMedia = yesno; }	void setCodec( codecType newCodec ) { codec = newCodec; }	void setRtpCodec( codecType newCodec ) { rtpCodec = newCodec; }	void setVideoCodec( codecType newCodec ) { videoCodec = newCodec; }	void setVideoRtpCodec( codecType newCodec ) { videoRtpCodec = newCodec; }	codecType getRtpCodec( void );	int getRtpCodecNum( void );	short getRtpBlockLength( void );	codecType getVideoRtpCodec( void );	int getVideoRtpCodecNum( void );	QString getVideoRtpCodecName( void );	void setBodyMask( QString body ) { bodyMask = body; }	QString getBodyMask( void ) { return bodyMask; }	bool checkCodec( SipCallMember *member );	void setStunSrv( QString newStunSrv );	signals:	void outputDead( void );	void statusUpdated( void );private slots:	void memberStatusUpdated(SipCallMember *member);private:	KPhoneView *view;	DspAudio *input;	DspAudio *output;	DspAudioJackOut *jack_audioout;	DspAudioJackIn  *jack_audioin;	int audio_fd;	SdpMessage local;	SdpMessage remote;	audiomodeType audiomode;	QString ossfilename;	QString ossfilename2;	QString alsadevicename; //Added by bobosch	QString videoSW;	SipCall *curcall;	SipCallMember *curmember;	void audioIn( void );	void stopListeningAudio( void );	void stopSendingAudio( void );	void detachAndHold( void );	int payload;	codecType codec;	codecType rtpCodec;	codecType videoCodec;	codecType videoRtpCodec;	int rtpCodecNum;	int videoRtpCodecNum;	QString bodyMask;	pid_t pidVideo;	bool useStun;	bool symMedia;	QString stunSrv;	/*	 * Common socket for both streams, used only in symmetric mode	 */	UDPMessageSocket socket;};#endif // CALLAUDIO_H_INCLUDED

⌨️ 快捷键说明

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