RT.
解决方案 »
- 取指定目录下的所有excel文件名
- BitBlt截图怎么只看到picturebox大小的图?
- 、怎么访问MPEGSTATUS?
- DataGrid中如何知道用鼠标选择的记录,看似简单的问题
- MDI窗口背景图片问题!
- 重拾VB,先拜码头,各位大虾,不吝赐教,帮忙解决一个小问题,up有分。
- 请问如何在vb中调入excel数据表。谢谢
- 我用Access做了个数据库,然而在VB中却不能用,说是数据库格式不可识别,请各位老兄帮忙解答一下?谢谢。
- 为什么我设置ADODC一点数据就显示图片不行?高手进来
- 100分请教一个关于自制控件的数据绑定的问题
- 用Setup Factory打包问题
- 程序向导(Wizard manager)怎么用,在现有项目中较难集成?
http://www.bluespace.com.cn/koodoo/download_tapi3.htm
有的话能否给小弟一份,不胜感谢![email protected]
所以我的平台除了支持TAPI接口外,还支持市面上流行的语言卡,如Dialogic、东进、三汇等。
这里都有免费版本可以下载:
http://www.bluespace.com.cn/koodoo
我在你那下载那个平台,可是怎用啊?不知道怎么用。
http://www.bluespace.com.cn/koodoo/examples_deal.htm
{
//打开波形文件
if(!(m_hmmio=mmioOpen((char*)szFileName,NULL,MMIO_READ|MMIO_ALLOCBUF)))
{
//File open Error
return -1;
}
//检查打开文件是否是声音文件
mmckinfoParent.fccType =mmioFOURCC('W','A','V','E');
if(mmioDescend(m_hmmio,(LPMMCKINFO)&mmckinfoParent,NULL,MMIO_FINDRIFF))
{
//NOT WAVE FILE AND QUIT
return -2;
}
//寻找 ’fmt’ 块
mmckinfoSubChunk.ckid =mmioFOURCC('f','m','t',' ');
if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK))
{
//Can’t find ’fmt’ chunk
return -3;
}
//获得 ’fmt ’块的大小,申请内存
dwFmtSize=mmckinfoSubChunk.cksize ;
m_hFormat=LocalAlloc(LMEM_MOVEABLE,LOWORD(dwFmtSize));
if(!m_hFormat)
{
//failed alloc memory
return -4;
}
lpFormat=(WAVEFORMATEX*)LocalLock(m_hFormat);
if(!lpFormat)
{
//failed to lock the memory
return -5;
}
if((unsigned long)mmioRead(m_hmmio,(HPSTR)lpFormat,dwFmtSize)!=dwFmtSize)
{
//failed to read format chunk
return -6;
}
//离开 fmt 块
mmioAscend(m_hmmio,&mmckinfoSubChunk,0);
//寻找 ’data’ 块
mmckinfoSubChunk.ckid=mmioFOURCC('d','a','t','a');
if(mmioDescend(m_hmmio,&mmckinfoSubChunk,&mmckinfoParent,MMIO_FINDCHUNK))
{
//Can’t find ’data’ chunk
return -7;
}
//获得 ’data’块的大小
m_dwDataSize=mmckinfoSubChunk.cksize ;
m_dwDataOffset =mmckinfoSubChunk.dwDataOffset ;
if(m_dwDataSize==0L)
{
//no data in the ’data’ chunk
return -8;
}
//为音频数据分配内存
lpData=new char[m_dwDataSize];
if(!lpData)
{
//faile
return -9;
}
if(mmioSeek(m_hmmio,m_dwDataOffset,SEEK_SET)<0)
{
//Failed to read the data chunk
return -10;
}
m_WaveLong=mmioRead(m_hmmio,lpData, m_dwDataSize);
if(m_WaveLong<0)
{
//Failed to read the data chunk
return -11;
}
//检查音频设备,返回音频输出设备的性能
// if(waveOutGetDeVCaps(WAVE_MAPPER,&pwoc,sizeof(WAVEOUTCAPS))!=0)
// {
//Unable to allocate or lock memory
// return -12;
// }
//检查音频输出设备是否能播放指定的音频文件
if(waveOutOpen(&hWaveOut,(UINT)hID,lpFormat,(DWORD)waveOutProc, NULL, CALLBACK_FUNCTION)!=0)
{
//Failed to OPEN the wave out devices
return -13;
}
//准备待播放的数据
pWaveOutHdr.lpData =(HPSTR)lpData;
pWaveOutHdr.dwBufferLength =m_WaveLong;
pWaveOutHdr.dwFlags =0;
if(waveOutPrepareHeader(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0)
{
//Failed to prepare the wave data buffer
return -14;
}
//播放音频数据文件
if(waveOutWrite(hWaveOut,&pWaveOutHdr,sizeof(WAVEHDR))!=0)
{
//Failed to write the wave data buffer
return -15;
} return 0;}