Example #1
0
BOOL CWaveOut::StopPlay()
{
	CloseDev();
	StopThread ();

	return TRUE;
}
Example #2
0
/*------------------------------------------------------------------------------*/
BOOL CAudioRec::Destroy()
{
	BOOL bRet=FALSE;
	if(!CloseDev())
		goto RET;
	bRet=TRUE;
RET:
	return bRet;
}
Example #3
0
//启动录音
BOOL CWaveIn::StartRec()
{
#ifdef PLAY
    //开始播放
    m_WaveOut.StartPlay();
#endif

    //返回值
    BOOL bRet = FALSE;	

    //启动线程失败
    if (!StartThread())           
    {
        goto Exit;
    }

    //打开录音设备失败
    if (!OpenDev())
    {
        goto Exit1;
    }

    //准备缓存失败
    if (!PerPareBuffer())
    {
        goto Exit2;
    }
/*
    //开始录音
    if (!OpenRecord())
    {
        goto Exit3;
    }
*/
    //设置返回值
    bRet = TRUE;
    goto Exit;
/*
    Exit3:
    //释放缓存
    FreeBuffer();
*/
Exit2:
    //关闭录音设备
    CloseDev();

Exit1:
    //停止线程
    StopThread();

Exit:
    //返回
    return bRet;
}
Example #4
0
//关闭服务
int CComDev::Stop()
{
	//终止线程
	void * res;
	/*pthread_exit((void *)3);*/
	pthread_cancel(m_RecvPt);
	pthread_join(m_RecvPt, &res);
	printf("stop RECV thread\n");
	//关闭串口
	CloseDev();
	return TRUE;
}
Example #5
0
//终止录音
BOOL CWaveIn::StopRec()
{
    //停止录音
    CloseRecord();
    //休眠1500毫秒
    Sleep(800);
    //释放缓存
    FreeBuffer();
    //关闭录音设备
    if (CloseDev())
    {
        //停止线程
        StopThread();
    }
    //返回
    return TRUE;
}