91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.66MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-03
  • 語言: 其他
  • 標簽: 語音聊天??

資源簡介

基于windows API函數用QT做界面的點對點語音聊天程序

資源截圖

代碼片段和文件信息

#include?“csound.h“
#include
//#pragma?comment(lib“WINMM.LIB“)

CSound::CSound()
{

}

CSound::~CSound()
{
????waveInClose(m_hWaveIn);?//關閉錄音設備
????waveOutClose(m_hWaveOut);?//關閉錄音設備
}

void?CSound::Init(MainWindow?*dlg)
{


????m_dlg=dlg;
????if(waveInGetNumDevs()==0)
????{
?????qDebug(“cannot2“);
????}
????if(waveOutGetNumDevs()==0)
????{

????}
????m_soundFormat.wFormatTag=WAVE_FORMAT_PCM;
????m_soundFormat.nChannels=1;
????m_soundFormat.nSamplesPerSec=8000;
????m_soundFormat.nAvgBytesPerSec=16000;
????m_soundFormat.nBlockAlign=2;
????m_soundFormat.cbSize=0;
????m_soundFormat.wBitsPerSample=16;?????//指定錄音格式

????int?retCode=waveInOpen(&m_hWaveInWAVE_MAPPER?&m_soundFormat?(DWORD)m_dlg->winId()0LCALLBACK_WINDOW);?//打開錄音設備



????if(retCode!=?MMSYSERR_NOERROR)
????{
????????qDebug(“cannot“);
????????return;
????}
????retCode=waveOutOpen(&m_hWaveOutWAVE_MAPPER?&m_soundFormat?(DWORD)m_dlg->winId()0LCALLBACK_WINDOW);?//打開放音設備
????if(retCode!=?MMSYSERR_NOERROR)
????{
????????qDebug(“cannot2“);
????????return;
????}
????//in
????m_pWaveHdrIn[0].lpData=m_cBufferIn;
????m_pWaveHdrIn[0].dwBufferLength=MAX_BUFFER_SIZE;
????m_pWaveHdrIn[0].dwBytesRecorded=0;
????m_pWaveHdrIn[0].dwFlags=0;

????retCode=waveInPrepareHeader(m_hWaveIn&m_pWaveHdrIn[0]sizeof(WAVEHDR));?//準備內存塊錄音
????if(retCode!=?MMSYSERR_NOERROR)
????{

????????return;
????}

????retCode=waveInAddBuffer(m_hWaveIn&m_pWaveHdrIn[0]sizeof(WAVEHDR));?//增加內存塊
????if(retCode!=?MMSYSERR_NOERROR)
????{

????????return;
????}

????//out
????m_pWaveHdrOut[0].lpData=m_cBufferOut;
????m_pWaveHdrOut[0].dwBufferLength=MAX_BUFFER_SIZE;
????m_pWaveHdrOut[0].dwBytesRecorded=0;
????m_pWaveHdrOut[0].dwFlags=0;

????waveOutPrepareHeader(m_hWaveOut&m_pWaveHdrOut[0]sizeof(WAVEHDR));?//準備內存塊放音
????waveOutWrite(m_hWaveOut&m_pWaveHdrOut[0]sizeof(WAVEHDR));
}

void?CSound::Record()
{
????waveInStart(m_hWaveIn);//開始錄音
}

void?CSound::Play()
{
????memcpy(m_cBufferOutm_cBufferInMAX_BUFFER_SIZE);
}

void?CSound::StopRecord()
{
????waveInStop(m_hWaveIn);?//停止錄音
????waveInReset(m_hWaveIn);?//清空內存塊
}

void?CSound::FreeRecordBuffer()
{
????int?retCode;
????retCode?=waveInUnprepareHeader(m_hWaveIn&m_pWaveHdrIn[0]sizeof(WAVEHDR));
????if??(retCode!=?MMSYSERR_NOERROR)
????{

????????return;
????} //in

????m_pWaveHdrIn[0].lpData=m_cBufferIn;
????m_pWaveHdrIn[0].dwBufferLength=MAX_BUFFER_SIZE;
????m_pWaveHdrIn[0].dwBytesRecorded=0;
????m_pWaveHdrIn[0].dwFlags=0;

????retCode=waveInPrepareHeader(m_hWaveIn&m_pWaveHdrIn[0]sizeof(WAVEHDR));?//準備內存塊錄音
????if(retCode!=?MMSYSERR_NOERROR)
????{

????????return;
????}

????retCode=waveInAddBuffer(m_hWaveIn&m_pWaveHdrIn[0]sizeof(WAVEHDR));?//增加內存塊
????if(retCode!=?MMSYSERR_NOERROR)
????{

????????return;
????}
}

void?CSound::FreePlayBuffer()
{
?//???static?bool?once=true;
????int?result;

????result=waveOutUnprepareHeader(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-04-13?22:39??sheji2\
?????文件????????3962??2013-03-23?17:17??sheji2\csound.cpp
?????文件?????????836??2013-03-19?20:24??sheji2\csound.h
?????目錄???????????0??2013-04-13?20:33??sheji2\debug\
?????文件??????232842??2013-04-13?18:10??sheji2\debug\csound.o
?????文件??????207095??2012-07-19?10:19??sheji2\debug\frame.o
?????文件??????231489??2013-04-13?18:09??sheji2\debug\main.o
?????文件??????472315??2013-04-13?20:33??sheji2\debug\mainwindow.o
?????文件????????2344??2012-07-19?10:19??sheji2\debug\moc_frame.cpp
?????文件??????132805??2012-07-19?10:20??sheji2\debug\moc_frame.o
?????文件????????2965??2013-04-13?18:10??sheji2\debug\moc_mainwindow.cpp
?????文件??????241750??2013-04-13?18:10??sheji2\debug\moc_mainwindow.o
?????文件??????184422??2013-03-19?20:24??sheji2\debug\mythread.o
?????文件??????590286??2013-04-13?18:01??sheji2\debug\qrc_ziyuan.cpp
?????文件??????123476??2013-04-13?18:01??sheji2\debug\qrc_ziyuan.o
?????文件?????1565706??2013-04-13?20:33??sheji2\debug\sheji.exe
?????文件?????????417??2013-03-11?22:19??sheji2\main.cpp
?????文件????????7637??2013-04-13?22:32??sheji2\mainwindow.cpp
?????文件????????1163??2013-04-13?18:09??sheji2\mainwindow.h
?????文件???????11245??2013-04-13?18:01??sheji2\mainwindow.ui
?????文件????????5718??2013-04-13?20:34??sheji2\Makefile
?????文件????????6365??2013-04-13?20:34??sheji2\Makefile.Debug
?????文件????????6467??2013-04-13?20:34??sheji2\Makefile.Release
?????目錄???????????0??2013-03-11?21:50??sheji2\pic\
?????文件????????2888??2012-08-20?17:34??sheji2\pic\addline_highlight.png
?????文件????????2850??2012-08-20?17:34??sheji2\pic\addline_normal.png
?????文件?????????926??2012-08-05?11:58??sheji2\pic\close1.png
?????文件?????????824??2012-08-05?12:05??sheji2\pic\close2.PNG
?????文件????????3058??2012-08-20?17:34??sheji2\pic\handle_highlight.png
?????文件????????3029??2012-08-20?17:34??sheji2\pic\handle_normal.png
?????文件?????????851??2012-08-06?14:54??sheji2\pic\kuang.png
............此處省略23個文件信息

評論

共有 條評論