📄 ppcaudio.c
字号:
//#include <windows.h>
#include "iaxclient_lib.h"
#include "ppcaudio.h"
#include <commctrl.h>
#include <aygshell.h>
#include <sipapi.h>
typedef void (CALLBACK* cbWaveOut)(WAVE_OUT_EVENT);
#define BUF_COUNT 64
#define SINGLE_BUF_SIZE 2*160
static int sample_rate = 0;
static int m_bInitialized = 0;
static cbWaveOut m_pcbWaveOut = NULL;
static WAVEFORMATEX m_wfxOut;
static WORD m_wBufferCount=64;
DWORD m_dwBufferSize=0;
static m_dwSingleBufferSize = 0;
static int running=0;
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 = 64;
m_dwSingleBufferSize = 2*160;
m_wfxOut.cbSize = 0;
m_wfxOut.wFormatTag = WAVE_FORMAT_PCM;
m_wfxOut.nChannels = 1;
m_wfxOut.wBitsPerSample = 8000;
m_wfxOut.nSamplesPerSec = 10*(m_wfxOut.wBitsPerSample/1000);
m_wfxOut.nBlockAlign = (m_wfxOut.wBitsPerSample * m_wfxOut.nChannels) / 8;
m_wfxOut.nAvgBytesPerSec = m_wfxOut.nSamplesPerSec * m_wfxOut.nBlockAlign;
// m_dwBufferSize = 64 * 2*160;
m_dwBufferSize = BUF_COUNT * SINGLE_BUF_SIZE;
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 errcnt=0;
if(running) return 0;
}
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 ppc_output(struct iaxc_audio_driver *d, void *samples, int nSamples)
{
}
static int ppc_play_sound(struct iaxc_sound *inSound, int ring)
{
}
static int ppc_stop_sound(int soundID)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -