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

📄 ppcaudio.cpp

📁 ppciaxclient softphone
💻 CPP
字号:



#include <windows.h>
//#include "iaxclient_lib.h"
#include "ppcaudio.h"

#include <commctrl.h>
#include <aygshell.h>
#include <sipapi.h>



int sample_rate = 0;
bool m_bInitialized = false;
DWORD m_dwBufferSize;

static int ppcaudio_initialize(struct iaxc_audio_driver *d, int sr)
{

	if(m_bInitialized)
		return 0;
	sample_rate = sr;

	d->initialize = ppcaudio_initialize;
    d->destroy = ppc_destroy;
    d->select_devices = ppc_select_devices;
    d->selected_devices = ppc_selected_devices;
    d->start = ppc_start;
    d->stop = ppc_stop;
    d->output = ppc_output;
    d->input = ppc_input;
    d->input_level_get = ppc_input_level_get;
	d->input_level_get = ppc_input_level_get;
    d->input_level_set = ppc_input_level_set;
    d->output_level_get = ppc_output_level_get;
    d->output_level_set = ppc_output_level_set;
    d->play_sound = ppc_play_sound;
    d->stop_sound = ppc_stop_sound;
    d->mic_boost_get = ppc_mic_boost_get;
    d->mic_boost_set = ppc_mic_boost_set;

	m_pcbWaveOut               = pcbWaveOut;
	m_dwActiveThreadPriority   = dwActiveThreadPriority;
	m_wBufferCount             = wBufferCount;
	m_dwSingleBufferSize       = dwSingleBufferSize;

	m_wfx.cbSize               = 0;
	m_wfx.wFormatTag           = WAVE_FORMAT_PCM;
	m_wfx.nChannels            = wChannels;
	m_wfx.nSamplesPerSec       = dwSamplesPerSec;
	m_wfx.nBlockAlign          = (wBitsPerSample * wChannels) / 8;
	m_wfx.nAvgBytesPerSec      = dwSamplesPerSec * m_wfx.nBlockAlign;
	m_wfx.wBitsPerSample       = wBitsPerSample;

	m_dwBufferSize = wBufferCount * dwSingleBufferSize;

	m_bInitialized = TRUE;

   return TRUE;

}

static int ppc_destroy (struct iaxc_audio_driver *d )
{
	free(d->devices);
	stop_output();
}


static int ppc_select_devices (struct iaxc_audio_driver *d, int input, int output, int ring)
{

}

static int ppc_selected_devices (struct iaxc_audio_driver *d, int *input, int *output, int *ring)
{

}

static double ppc_input_level_get(struct iaxc_audio_driver *d)
{

}

static double ppc_output_level_get(struct iaxc_audio_driver *d)
{

}

static int ppc_input_level_set(struct iaxc_audio_driver *d, double level)
{

}

static int ppc_output_level_set(struct iaxc_audio_driver *d, double level)
{

}

static int ppc_mic_boost_get( struct iaxc_audio_driver* d )
{

}

static int ppc_mic_boost_set( struct iaxc_audio_driver* d, int enable )
{

}


static int ppc_start (struct iaxc_audio_driver *d )
{

}

static int ppc_stop (struct iaxc_audio_driver *d )
{

}

static void ppc_shutdown()
{

}


static int ppc_input(struct iaxc_audio_driver *d, void *samples, int *nSamples)
{

}


static int pa_output(struct iaxc_audio_driver *d, void *samples, int nSamples)
{

}

⌨️ 快捷键说明

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