#include <IRecorder.h>
公有成员 | |
virtual BOOL | CreateFileName (FileNameType type=FILE_NAME_TYPE_1)=0 |
virtual WCHAR * | GetFileName ()=0 |
virtual WCHAR * | GetFilePath ()=0 |
virtual int | GetTime ()=0 |
virtual void | OnMM_WIM_CLOSE (UINT message, UINT wParam, LONG lParam)=0 |
virtual void | OnMM_WIM_DATA (UINT message, UINT wParam, LONG lParam)=0 |
virtual void | OnMM_WIM_OPEN (UINT message, UINT wParam, LONG lParam)=0 |
virtual BOOL | RecPause ()=0 |
virtual BOOL | RecStart ()=0 |
virtual BOOL | RecStop ()=0 |
virtual void | SetBitRate (int bitRate=128)=0 |
virtual BOOL | SetCallBackWindow (HWND hWnd=NULL, RecordMode mode=PHONE_MODE)=0 |
virtual BOOL | SetFileName (WCHAR *fileName)=0 |
virtual void | SetParameter (int sampleWidth=16, int sampleRate=32000, int channelCount=1, SoundDataType dataType=MP3_FORMAT)=0 |
virtual BOOL IRecord::CreateFileName | ( | FileNameType | type = FILE_NAME_TYPE_1 |
) | [pure virtual] |
创建录制的文件名称 程序根据当前录制系统时间自动生成文件名("年月日时分秒.***") 与SetFileName(...)分别提供两种方式来生成录制文件名 type: 自动生成方式 FILE_NAME_TYPE_1为"年月日时分秒",FILE_NAME_TYPE_2为"月日时分秒",FILE_NAME_TYPE_3为"时分秒"
virtual WCHAR* IRecord::GetFileName | ( | ) | [pure virtual] |
获取文件名称
virtual WCHAR* IRecord::GetFilePath | ( | ) | [pure virtual] |
获取录制文件完整路径
virtual int IRecord::GetTime | ( | ) | [pure virtual] |
获取当前录音时间(单位:ms)
virtual void IRecord::OnMM_WIM_CLOSE | ( | UINT | message, | |
UINT | wParam, | |||
LONG | lParam | |||
) | [pure virtual] |
virtual void IRecord::OnMM_WIM_DATA | ( | UINT | message, | |
UINT | wParam, | |||
LONG | lParam | |||
) | [pure virtual] |
virtual void IRecord::OnMM_WIM_OPEN | ( | UINT | message, | |
UINT | wParam, | |||
LONG | lParam | |||
) | [pure virtual] |
三个底层设备消息响应函数 前提条件是正确打开录音设备,开始录音,才能接收到下列三个消息 响应的消息类型对应为:MM_WIM_OPEN,MM_WIM_DATA MM_WIM_CLOSE 调用者将此三个函数放于调用应用的消息接受函数中使用 MM_WIM_OPEN: 成功打开录音设备返回消息 MM_WIM_DATA: 录音广播消息,通知获取音频数据 MM_WIM_CLOSE:成功关闭录音设备返回消息 注: 应用在响应MM_WIM_DATA消息中,由参数(LPWAVEHDR)lParam->dwBytesRecorded获取数据大小 (LPWAVEHDR)lParam->lpData获取音频数据 文件格式为WAVE_FORMAT情况下时,调用OnMM_WIM_DATA不需要自行对数据进行存储,由函数内部实现对数据的保存 调用示例: include "IMixer.h" include "IRecorder.h" switch(message) { case MM_MIXM_CONTROL_CHANGE: case MM_WIM_DATA: { if(pRecord) pRecord->OnMM_WIM_DATA(message, wParam, lParam); } break;
case MM_WIM_OPEN: { if(pRecord) pRecord->OnMM_WIM_OPEN(MM_WIM_OPEN, wParam, lParam); } break;
case MM_WIM_CLOSE: { if(pRecord) pRecord->OnMM_WIM_CLOSE(MM_WIM_CLOSE, wParam, lParam); } break; }
virtual BOOL IRecord::RecPause | ( | ) | [pure virtual] |
暂停录音
virtual BOOL IRecord::RecStart | ( | ) | [pure virtual] |
开始录音
virtual BOOL IRecord::RecStop | ( | ) | [pure virtual] |
停止录音
virtual void IRecord::SetBitRate | ( | int | bitRate = 128 |
) | [pure virtual] |
设置比特率 注:此步操作应在调用CreateFileName或SetFileName之前完成
virtual BOOL IRecord::SetCallBackWindow | ( | HWND | hWnd = NULL , |
|
RecordMode | mode = PHONE_MODE | |||
) | [pure virtual] |
设置消息响应窗口 此接口做为第一个被调用接口,必须先对其进行设置 录音方式
virtual BOOL IRecord::SetFileName | ( | WCHAR * | fileName | ) | [pure virtual] |
设置录制的文件名称 禁止自动生成文件名,指定文件名路径 此接口主要是提供给一些特殊应用需要自定义录制文件的命名 fileName:完整的文件路径名称 fileType: 枚举值,录制文件格式
virtual void IRecord::SetParameter | ( | int | sampleWidth = 16 , |
|
int | sampleRate = 32000 , |
|||
int | channelCount = 1 , |
|||
SoundDataType | dataType = MP3_FORMAT | |||
) | [pure virtual] |
打开录音设备前对参数进行设置,如不进行设置,则使用默认值录制 param sampleWidth 采样宽度 param sampleRate 采样率 param channelCount 声道数 注:不设置则使用默认值