您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ waveInGetNumDevs函数代码示例

51自学网 2021-06-03 09:52:40
  C++
这篇教程C++ waveInGetNumDevs函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中waveInGetNumDevs函数的典型用法代码示例。如果您正苦于以下问题:C++ waveInGetNumDevs函数的具体用法?C++ waveInGetNumDevs怎么用?C++ waveInGetNumDevs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了waveInGetNumDevs函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Q_UNUSED

QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode){    Q_UNUSED(mode)    QList<QByteArray> devices;    if(mode == QAudio::AudioOutput) {        WAVEOUTCAPS woc;	unsigned long iNumDevs,i;	iNumDevs = waveOutGetNumDevs();	for(i=0;i<iNumDevs;i++) {	    if(waveOutGetDevCaps(i, &woc, sizeof(WAVEOUTCAPS))	        == MMSYSERR_NOERROR) {	        devices.append(QString((const QChar *)woc.szPname).toLocal8Bit().constData());	    }	}    } else {        WAVEINCAPS woc;	unsigned long iNumDevs,i;	iNumDevs = waveInGetNumDevs();	for(i=0;i<iNumDevs;i++) {	    if(waveInGetDevCaps(i, &woc, sizeof(WAVEINCAPS))	        == MMSYSERR_NOERROR) {	        devices.append(QString((const QChar *)woc.szPname).toLocal8Bit().constData());	    }	}    }    if(devices.count() > 0)        devices.append("default");    return devices;}
开发者ID:kuailexs,项目名称:symbiandump-mw3,代码行数:33,


示例2: Java_craigl_winrecorder_WinRecorder_nativeHasSoundCard

// Determine if this computer has a sound card capable of recordingJNIEXPORT jboolean JNICALL Java_craigl_winrecorder_WinRecorder_nativeHasSoundCard(		JNIEnv *env, jobject o) {	WAVEINCAPS waveInCaps;	BOOL success;	if (waveInGetNumDevs() == 0)		return FALSE;	// We have a recording device, grab its specs	success = (waveInGetDevCaps(0, &waveInCaps, sizeof(WAVEINCAPS)) == MMSYSERR_NOERROR);	if (success) {#ifdef DEBUG		// Display info		printf("Manufacturer ID: %d/n", waveInCaps.wMid);		printf("Product ID: %d/n", waveInCaps.wPid);		printf("Maj Version: %d/n", waveInCaps.vDriverVersion >> 8);		printf("Min Version: %d/n", waveInCaps.vDriverVersion & 255);		printf("Product Name: %s/n", waveInCaps.szPname);		printf("Formats: %x/n", waveInCaps.dwFormats);		printf("Channels: %d/n", waveInCaps.wChannels);#endif		return TRUE;	}	else		return FALSE;
开发者ID:KolonelKustard,项目名称:nostalgianet,代码行数:28,


示例3: InitializeWaveIn

bool CAudio::InitializeWaveIn(){	if (!waveInGetNumDevs())		return false;	MMRESULT	mmResult;	DWORD		dwThreadID = 0;	m_hThreadCallBack = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)waveInCallBack, (LPVOID)this, CREATE_SUSPENDED, &dwThreadID);	mmResult = waveInOpen(&m_hWaveIn, (WORD)WAVE_MAPPER, &(m_GSMWavefmt.wfx), (LONG)dwThreadID, (LONG)0, CALLBACK_THREAD);	if (mmResult != MMSYSERR_NOERROR)		return false;	for (int i = 0; i < 2; i++)	{		m_lpInAudioHdr[i]->lpData = (LPSTR)m_lpInAudioData[i];		m_lpInAudioHdr[i]->dwBufferLength = m_nBufferLength;		m_lpInAudioHdr[i]->dwFlags = 0;		m_lpInAudioHdr[i]->dwLoops = 0;		waveInPrepareHeader(m_hWaveIn, m_lpInAudioHdr[i], sizeof(WAVEHDR));	}		waveInAddBuffer(m_hWaveIn, m_lpInAudioHdr[m_nWaveInIndex], sizeof(WAVEHDR));	ResumeThread(m_hThreadCallBack);	waveInStart(m_hWaveIn);	m_bIsWaveInUsed = true;	return true;}
开发者ID:nickwu1220,项目名称:PCRemote,代码行数:32,


示例4: mmio_listdevs

/* list the audio and MIDI device names */void mmio_listdevs(void){    UINT  wRtn, ndevices;    unsigned int i;    ndevices = waveInGetNumDevs();    for (i = 0; i < ndevices; i++)    {    	WAVEINCAPS wicap;    	wRtn = waveInGetDevCaps(i, (LPWAVEINCAPS) &wicap,            sizeof(wicap));        if (wRtn) nt_waveinerror("waveInGetDevCaps: %s/n", wRtn);    	else fprintf(stderr,    	    "audio input device #%d: %s/n", i+1, wicap.szPname);    }    ndevices = waveOutGetNumDevs();    for (i = 0; i < ndevices; i++)    {    	WAVEOUTCAPS wocap;    	wRtn = waveOutGetDevCaps(i, (LPWAVEOUTCAPS) &wocap,            sizeof(wocap));        if (wRtn) nt_waveouterror("waveOutGetDevCaps: %s/n", wRtn);    	else fprintf(stderr,    	    "audio output device #%d: %s/n", i+1, wocap.szPname);    }}
开发者ID:BurntBrunch,项目名称:rockbox-fft,代码行数:28,


示例5: initAudioDevices

void initAudioDevices(SIPX_INSTANCE_DATA& pInst){#if defined(_WIN32)   WAVEOUTCAPS outcaps;   WAVEINCAPS  incaps;   int numDevices;   MMRESULT result;   numDevices = waveInGetNumDevs();   for (int i = 0; i < numDevices && i < MAX_AUDIO_DEVICES; i++)   {      result = waveInGetDevCaps(i, &incaps, sizeof(WAVEINCAPS));      assert(result == MMSYSERR_NOERROR);      pInst.inputAudioDevices[i] = SAFE_STRDUP(incaps.szPname);   }   pInst.nInputAudioDevices = numDevices;   numDevices = waveOutGetNumDevs();   for (int i = 0; i < numDevices && i < MAX_AUDIO_DEVICES; i++)   {      result = waveOutGetDevCaps(i, &outcaps, sizeof(WAVEOUTCAPS));      assert(result == MMSYSERR_NOERROR);      pInst.outputAudioDevices[i] = SAFE_STRDUP(outcaps.szPname) ;   }   pInst.nOutputAudioDevices = numDevices;#else   pInst.inputAudioDevices[0] = SAFE_STRDUP("Default");   pInst.outputAudioDevices[0] = SAFE_STRDUP("Default");#endif}
开发者ID:Jaroslav23,项目名称:sipxtapi,代码行数:31,


示例6: mmio_getdevs

void mmio_getdevs(char *indevlist, int *nindevs,    char *outdevlist, int *noutdevs, int *canmulti,     	int maxndev, int devdescsize){    int  wRtn, ndev, i;    *canmulti = 2;  /* supports multiple devices */    ndev = waveInGetNumDevs();    if (ndev > maxndev)    	ndev = maxndev;    *nindevs = ndev;    for (i = 0; i < ndev; i++)    {    	WAVEINCAPS wicap;    	wRtn = waveInGetDevCaps(i, (LPWAVEINCAPS) &wicap, sizeof(wicap));	sprintf(indevlist + i * devdescsize, (wRtn ? "???" : wicap.szPname));    }    ndev = waveOutGetNumDevs();    if (ndev > maxndev)    	ndev = maxndev;    *noutdevs = ndev;    for (i = 0; i < ndev; i++)    {    	WAVEOUTCAPS wocap;    	wRtn = waveOutGetDevCaps(i, (LPWAVEOUTCAPS) &wocap, sizeof(wocap));	sprintf(outdevlist + i * devdescsize, (wRtn ? "???" : wocap.szPname));    }}
开发者ID:BurntBrunch,项目名称:rockbox-fft,代码行数:29,


示例7: waveInGetNumDevs

void CSettingsDlg::OnButtonAudioinput() {	std::vector<CString> deviceList;	//Obtain the number of input devices on the system	DWORD numWaveInputDevices = waveInGetNumDevs();	//Scan through each input device to see if we can find the FM Radio	for (DWORD i = 0; i < numWaveInputDevices; i++)	{		WAVEINCAPS waveInputCapabilities;		//Get the device capabilities of the currently indexed device		if (waveInGetDevCaps(i, &waveInputCapabilities, sizeof(waveInputCapabilities)) == MMSYSERR_NOERROR)		{			deviceList.push_back(waveInputCapabilities.szPname);		}	}	CDeviceSelectDlg deviceSelectDlg(&deviceList, m_RadioIndex);	if (deviceSelectDlg.DoModal() == IDOK)	{		m_RadioIndex = deviceSelectDlg.GetIndex();	}}
开发者ID:kobayosi,项目名称:usbradio,代码行数:26,


示例8: widGetDevCaps

static	DWORD	widGetDevCaps(UINT wDevID, WAVEMAPDATA* wim, LPWAVEINCAPSW lpWaveCaps, DWORD dwParam2){    TRACE("(%04x, %p %p %08x)/n", wDevID, wim, lpWaveCaps, dwParam2);    /* if opened low driver, forward message */    if (WAVEMAP_IsData(wim))        return waveInGetDevCapsW((UINT_PTR)wim->u.in.hInnerWave, lpWaveCaps, dwParam2);    /* else if no drivers, nothing to map so return bad device */    if (waveInGetNumDevs() == 0) {        WARN("bad device id/n");        return MMSYSERR_BADDEVICEID;    }    /* otherwise, return caps of mapper itself */    if (wDevID == (UINT)-1 || wDevID == (UINT16)-1) {        WAVEINCAPSW wic;        static const WCHAR init[] = {'W','i','n','e',' ','w','a','v','e',' ','i','n',' ','m','a','p','p','e','r',0};	wic.wMid = 0x00FF;	wic.wPid = 0x0001;	wic.vDriverVersion = 0x0001;	strcpyW(wic.szPname, init);	wic.dwFormats =            WAVE_FORMAT_96M08 | WAVE_FORMAT_96S08 | WAVE_FORMAT_96M16 | WAVE_FORMAT_96S16 |            WAVE_FORMAT_48M08 | WAVE_FORMAT_48S08 | WAVE_FORMAT_48M16 | WAVE_FORMAT_48S16 |	    WAVE_FORMAT_4M08 | WAVE_FORMAT_4S08 | WAVE_FORMAT_4M16 | WAVE_FORMAT_4S16 |	    WAVE_FORMAT_2M08 | WAVE_FORMAT_2S08 | WAVE_FORMAT_2M16 | WAVE_FORMAT_2S16 |	    WAVE_FORMAT_1M08 | WAVE_FORMAT_1S08 | WAVE_FORMAT_1M16 | WAVE_FORMAT_1S16;	wic.wChannels = 2;        memcpy(lpWaveCaps, &wic, min(dwParam2, sizeof(wic)));	return MMSYSERR_NOERROR;    }    ERR("This shouldn't happen/n");    return MMSYSERR_ERROR;}
开发者ID:Strongc,项目名称:reactos,代码行数:34,


示例9: wave_in_tests

static void wave_in_tests(void){    WAVEINCAPSA capsA;    WAVEINCAPSW capsW;    WAVEFORMATEX format;    HWAVEIN win;    MMRESULT rc;    DWORD preferred, status;    UINT ndev,d;    ndev=waveInGetNumDevs();    trace("found %d WaveIn devices/n",ndev);    rc = waveInMessage((HWAVEIN)WAVE_MAPPER, DRVM_MAPPER_PREFERRED_GET,            (DWORD_PTR)&preferred, (DWORD_PTR)&status);    ok((ndev == 0 && (rc == MMSYSERR_NODRIVER || rc == MMSYSERR_BADDEVICEID)) ||            rc == MMSYSERR_NOTSUPPORTED ||            rc == MMSYSERR_NOERROR, "waveInMessage(DRVM_MAPPER_PREFERRED_GET) failed: %u/n", rc);    if(rc != MMSYSERR_NOTSUPPORTED)        ok((ndev == 0 && (preferred == -1 || broken(preferred != -1))) ||                preferred < ndev, "Got invalid preferred device: 0x%x/n", preferred);    rc=waveInGetDevCapsA(ndev+1,&capsA,sizeof(capsA));    ok(rc==MMSYSERR_BADDEVICEID,       "waveInGetDevCapsA(%s): MMSYSERR_BADDEVICEID expected, got %s/n",       dev_name(ndev+1),wave_in_error(rc));    rc=waveInGetDevCapsA(WAVE_MAPPER,&capsA,sizeof(capsA));    ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NODRIVER || (!ndev && (rc==MMSYSERR_BADDEVICEID)),       "waveInGetDevCapsA(%s): got %s/n",dev_name(WAVE_MAPPER),wave_in_error(rc));    rc=waveInGetDevCapsW(ndev+1,&capsW,sizeof(capsW));    ok(rc==MMSYSERR_BADDEVICEID || rc==MMSYSERR_NOTSUPPORTED,       "waveInGetDevCapsW(%s): MMSYSERR_BADDEVICEID or MMSYSERR_NOTSUPPORTED "       "expected, got %s/n",dev_name(ndev+1),wave_in_error(rc));    rc=waveInGetDevCapsW(WAVE_MAPPER,&capsW,sizeof(capsW));    ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NODRIVER ||       rc==MMSYSERR_NOTSUPPORTED || (!ndev && (rc==MMSYSERR_BADDEVICEID)),       "waveInGetDevCapsW(%s): got %s/n", dev_name(ndev+1),wave_in_error(rc));    format.wFormatTag=WAVE_FORMAT_PCM;    format.nChannels=2;    format.wBitsPerSample=16;    format.nSamplesPerSec=44100;    format.nBlockAlign=format.nChannels*format.wBitsPerSample/8;    format.nAvgBytesPerSec=format.nSamplesPerSec*format.nBlockAlign;    format.cbSize=0;    rc=waveInOpen(&win,ndev+1,&format,0,0,CALLBACK_NULL);    ok(rc==MMSYSERR_BADDEVICEID,       "waveInOpen(%s): MMSYSERR_BADDEVICEID expected, got %s/n",       dev_name(ndev+1),wave_in_error(rc));    for (d=0;d<ndev;d++)        wave_in_test_device(d);    if (ndev>0)        wave_in_test_device(WAVE_MAPPER);}
开发者ID:evelikov,项目名称:wine,代码行数:60,


示例10: OpenWaveIn

// Open wave input channelint OpenWaveIn(HWAVEIN* hWaveIn, WAVEFORMATEX* wf){	int res;	char lpTemp[256];	res = waveInGetNumDevs();	if (! res )	{		_debug_print("Access WaveIn channel FAILED!",1);		return -1;	}	else	{		_debug_print("Access WaveIn channel SUCCEED!");	}	// Open wave input channel	res = waveInOpen(hWaveIn,WAVE_MAPPER, wf, (DWORD)NULL,0L,CALLBACK_WINDOW); 	if ( res != MMSYSERR_NOERROR )	{		sprintf(lpTemp, "Open wave input channel FAILED
C++ waveInOpen函数代码示例
C++ waveInGetDevCaps函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。