📄 soundbase.cpp
字号:
// SoundBase.cpp: implementation of the CSoundBase class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "SoundBase.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSoundBase::CSoundBase()
{
m_Format.wFormatTag = WAVE_FORMAT_ALAW;
m_Format.cbSize = 0;
m_BufferSize = 500;//1000; // samples per callback
SetBitsPerSample(8);
SetSamplesPerSecond(8000);
SetNumberOfChannels(1);
}
CSoundBase::~CSoundBase()
{
}
void CSoundBase::SetBitsPerSample(int bps)
{
m_Format.wBitsPerSample = bps;
Update();
}
int CSoundBase::GetBitsPerSample()
{
return m_Format.wBitsPerSample;
}
void CSoundBase::SetSamplesPerSecond(int sps)
{
m_Format.nSamplesPerSec = sps;
Update();
}
int CSoundBase::GetSamplesPerSecond()
{
return m_Format.nSamplesPerSec;
}
void CSoundBase::SetNumberOfChannels(int nchan)
{
m_Format.nChannels = nchan;
Update();
}
int CSoundBase::GetNumberOfChannels()
{
return m_Format.nChannels;
}
void CSoundBase::Update()
{
m_Format.nBlockAlign = m_Format.nChannels *(m_Format.wBitsPerSample/8);
m_Format.nAvgBytesPerSec = m_Format.nSamplesPerSec*m_Format.nBlockAlign;
}
void CSoundBase::SetBufferSize(int NumberOfSamples)
{
m_BufferSize = NumberOfSamples;
}
int CSoundBase::GetBufferSize()
{
return m_BufferSize;
}
WAVEFORMATEX* CSoundBase::GetFormat()
{
return &m_Format;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -