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

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

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

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

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

示例1: if

        void MediaObject::play()        {            if ((m_state == Phonon::PlayingState) && !m_paused && !m_stopped)                return;            if  ((m_state == Phonon::LoadingState) ||                 (m_state == Phonon::BufferingState) ||                 (m_state == Phonon::ErrorState)) {                    setError(Phonon::FatalError, QLatin1String("illegale state for playback"));                    return;            }            if (m_state == Phonon::StoppedState)                stop();            if (m_sourceIsValid) {                setState(Phonon::PlayingState);                if (!m_paused) {                    m_nextBufferIndex = true;                    m_stopped = false;                    playBuffer(m_soundBuffer1.waveHeader);                    playBuffer(m_soundBuffer2.waveHeader);                } else {                    if (!(waveOutRestart(m_hWaveOut) == MMSYSERR_NOERROR))                        setError(Phonon::NormalError, QLatin1String("cannot resume (system)"));                }            } else {                setError(Phonon::FatalError, QLatin1String("cannot playback invalid source"));            }            m_paused = false;        }
开发者ID:sandsmark,项目名称:phonon-visualization-gsoc,代码行数:29,


示例2: PJ_DEF

/** Start stream.*/PJ_DEF(pj_status_t) pjmedia_snd_stream_start(pjmedia_snd_stream *stream){    MMRESULT mr;    PJ_UNUSED_ARG(stream);    if (stream->play_strm.hWave.Out != NULL)    {	mr = waveOutRestart(stream->play_strm.hWave.Out);	if (mr != MMSYSERR_NOERROR)	    /* TODO: This macro is supposed to be used for HRESULT, fix. */	    PJ_RETURN_OS_ERROR(mr);	PJ_LOG(5,(THIS_FILE, "WMME playback stream started"));    }    if (stream->rec_strm.hWave.In != NULL)    {	mr = waveInStart(stream->rec_strm.hWave.In);	if (mr != MMSYSERR_NOERROR)	    /* TODO: This macro is supposed to be used for HRESULT, fix. */	    PJ_RETURN_OS_ERROR(mr);	PJ_LOG(5,(THIS_FILE, "WMME capture stream started"));    }    return PJ_SUCCESS;}
开发者ID:deveck,项目名称:Deveck.TAM,代码行数:29,


示例3: renderstart

void renderstart(void *hrender){    if (!hrender) return;    RENDER *render = (RENDER*)hrender;    waveOutRestart(render->hWaveOut);    render->nRenderStatus &= ~RS_PAUSE;}
开发者ID:wnpllrzodiac,项目名称:ffplayer-android,代码行数:7,


示例4: waveOutRestart

void SoundCardPMO::Resume(void){    if (m_initialized)       waveOutRestart(m_hwo);        PhysicalMediaOutput::Resume();}
开发者ID:pontocom,项目名称:opensdrm,代码行数:7,


示例5: set_pause

staticint set_pause(int flag){  static int paused;  MMRESULT error;  if (flag && !paused) {    error = waveOutPause(wave_handle);    if (error != MMSYSERR_NOERROR) {      audio_error = error_text(error);      return -1;    }  }  else if (!flag && paused) {    error = waveOutRestart(wave_handle);    if (error != MMSYSERR_NOERROR) {      audio_error = error_text(error);      return -1;    }  }  paused = flag;  return 0;}
开发者ID:Rambonuaa,项目名称:BoundCheck4,代码行数:25,


示例6: waveOutSetVolume

int EmuOutMod::Write(char *buf, int len) {    ::WaitForSingleObject(m_mutex, INFINITE);    int rest = m_buf_rest;    ::ReleaseMutex(m_mutex);    if(rest<len) return 1;    waveOutSetVolume(m_hwo, (DWORD)(m_volume<<16)|m_volume);    for(int i=0; i<len; i++) {        m_buf[m_buf_idx%m_ring_size][m_buf_pos++] = buf[i];        rest--;        if(m_buf_pos==m_buf_size) {            waveOutPrepareHeader(m_hwo, &m_wh[m_buf_idx%m_ring_size], sizeof(WAVEHDR)) ;            waveOutWrite(m_hwo, &m_wh[m_buf_idx%m_ring_size], sizeof(WAVEHDR)) ;            if(m_playing) waveOutRestart(m_hwo);            m_buf_pos = 0;            m_buf_idx ++;            //waveOutUnprepareHeader(m_hwo, &m_wh[m_buf_idx%m_ring_size], sizeof(WAVEHDR));        }    }    ::WaitForSingleObject(m_mutex, INFINITE);    m_buf_rest -= len;    ::ReleaseMutex(m_mutex);    return 0;}
开发者ID:AdmiralCurtiss,项目名称:nsfplay,代码行数:29,


示例7: winwave_ctl_out

static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...){    MMRESULT mr;    WaveVoiceOut *wave = (WaveVoiceOut *) hw;    switch (cmd) {    case VOICE_ENABLE:        {            va_list ap;            int poll_mode;            va_start (ap, cmd);            poll_mode = va_arg (ap, int);            va_end (ap);            if (poll_mode && !wave->event) {                wave->event = CreateEvent (NULL, TRUE, TRUE, NULL);                if (!wave->event) {                    dolog ("DAC CreateEvent: %lx, poll mode will be disabled/n",                           GetLastError ());                }            }            if (wave->event) {                int ret;                ret = qemu_add_wait_object (wave->event, winwave_poll, wave);                hw->poll_mode = (ret == 0);            }            else {                hw->poll_mode = 0;            }            if (wave->paused) {                mr = waveOutRestart (wave->hwo);                if (mr != MMSYSERR_NOERROR) {                    winwave_logerr (mr, "waveOutRestart");                }                wave->paused = 0;            }        }        return 0;    case VOICE_DISABLE:        if (!wave->paused) {            mr = waveOutPause (wave->hwo);            if (mr != MMSYSERR_NOERROR) {                winwave_logerr (mr, "waveOutPause");            }            else {                wave->paused = 1;            }        }        if (wave->event) {            qemu_del_wait_object (wave->event, winwave_poll, wave);        }        return 0;    }    return -1;}
开发者ID:0bliv10n,项目名称:s2e,代码行数:59,


示例8: waveOutPause

int EmuOutMod::Pause(int pause) {    if(pause) {        waveOutPause(m_hwo);        m_playing = false;    } else {        waveOutRestart(m_hwo);        m_playing = true;    }    return !pause;}
开发者ID:AdmiralCurtiss,项目名称:nsfplay,代码行数:10,


示例9: aviaudioPlay

// Play audio, starting at a given frame/sampleBOOL CALLBACK aviaudioPlay(HWND hwnd, PAVISTREAM pavi, LONG lStart, LONG lEnd, BOOL fWait){	if (audioPlayable <= 0)		return FALSE;	recalc = 1;	//CString tx;	//tx.Format("audioPlayable %d",audioPlayable);	//MessageBox(NULL,tx,"Note",MB_OK);	CString msx;	if (lStart < 0)		lStart = ::AVIStreamStart(pavi);	if (lEnd < 0)		lEnd = AVIStreamEnd(pavi);	if (lStart >= lEnd) {		return FALSE;	}	if (!aviaudioOpenDevice(hwnd, pavi)) {		MessageBox(NULL,"AudioOpen failed","Note",MB_OK | MB_ICONEXCLAMATION);		return FALSE;	}	if (!sfPlaying) {		// We're beginning play, so pause until we've filled the buffers		// for a seamless start		waveOutPause(shWaveOut);		slBegin = lStart;		slCurrent = lStart;		slEnd = lEnd;		sfPlaying = TRUE;	} else {		slEnd = lEnd;	}	aviaudioiFillBuffers();	// Now unpause the audio and away it goes!	waveOutRestart(shWaveOut);	// Caller wants us not to return until play is finished	if (fWait) {		while (swBuffersOut > 0)			Yield();	}	return TRUE;}
开发者ID:aisnote,项目名称:camstudio-clone,代码行数:55,


示例10: DSOUND_PrimaryPlay

HRESULT DSOUND_PrimaryPlay(DirectSoundDevice *device){    HRESULT err = DS_OK;    TRACE("(%p)/n", device);    err = mmErr(waveOutRestart(device->hwo));    if (err != DS_OK)        WARN("waveOutRestart failed/n");    return err;}
开发者ID:YokoZar,项目名称:wine,代码行数:11,


示例11: waveOutRestart

void audio_waveout::play(void){    MMRESULT err;    unsigned int i;    if (!main_buffer)    {        /* TODO; throw error, or assert */        return;    }    /* If the status is PAUSED, we have to resume the audio playing */    if (status == WAVEOUT_PAUSED)    {        /* Updates status */        status = WAVEOUT_PLAYING;        /* Tells to the driver to resume audio playing */        waveOutRestart(waveout_handle);        /* Wakeup playing thread */        SetEvent(wakeup_playthread);        return;    } /* if status == WAVEOUT_PAUSED */    if (status != WAVEOUT_READY)        return;    /* Prepares WAVEHDR structures */    prep_headers_();    /* Sets correct status */    status = WAVEOUT_PLAYING;    /* Reads the audio from the start */    //audio_buf.set_position_start();    /* Reads the first N bytes from the audio buffer, where N = the total       size of all little buffers */    audio_buf.read(main_buffer, mb_size);    /* Wakeup the playing thread */    SetEvent(wakeup_playthread);    /* Sends all the little buffers to the audio driver, so it can play       the sound data */    for (i = 0; i < buffers; ++i)    {        err = waveOutWrite(waveout_handle, &wave_headers[i], sizeof(WAVEHDR));        if (err != MMSYSERR_NOERROR)        {            MessageBox(0, _T("waveOutWrite Error"), 0, 0);            /* TODO: throw error */        }    }}
开发者ID:GYGit,项目名称:reactos,代码行数:53,


示例12: waveOutRestart

	MMRESULT TinyWaveOut::Restart()	{		if (hWaveOut == NULL) return S_FALSE;		MMRESULT hRes = waveOutRestart(hWaveOut);		if (hRes != MMSYSERR_NOERROR)		{			waveOutClose(hWaveOut);			hWaveOut = NULL;			return S_FALSE;		}		return S_OK;	}
开发者ID:maerson,项目名称:GUI-TinyUI,代码行数:12,


示例13: sa_stream_resume

/** Resume playing after a pause */int sa_stream_resume(sa_stream_t *s) {  int status;      ERROR_IF_NO_INIT(s);  status = waveOutRestart(s->hWaveOut);  HANDLE_WAVE_ERROR(status, "resuming audio playback");  s->playing = 1;  return SA_SUCCESS;}
开发者ID:Akin-Net,项目名称:mozilla-central,代码行数:13,


示例14:

bool VDAudioOutputWaveOutW32::Start() {	if (mCurState == kStateSilent)		return true;	if (mCurState < kStateOpened)		return false;	if (MMSYSERR_NOERROR != waveOutRestart(mhWaveOut))		return false;	mCurState = kStatePlaying;	return true;}
开发者ID:KGE-INC,项目名称:VirtualDub,代码行数:14,


示例15: WaveLib_Pause

  /***********************************************************************  * WaveLib_Pause  *    *    Audio!  *  * Parameters  *       *   * Return Value  *     Handle To This Audio Session  *  ***********************************************************************/ void WaveLib_Pause(HWAVELIB hWaveLib, BOOL bPause) {     PWAVELIB pWaveLib = (PWAVELIB)hWaveLib;     pWaveLib->bPaused = bPause;     if(pWaveLib->bPaused)     {         waveOutPause(pWaveLib->hWaveOut);     }     else     {         waveOutRestart(pWaveLib->hWaveOut);     } }
开发者ID:souri,项目名称:myaudioplayer,代码行数:27,


示例16: Pause

int WaveOut::Pause(int pause){	bool waspaused = _paused;	if (pause)	{		if (!waspaused) waveOutPause(_device);		_paused = true;	}	else	{		if (waspaused) waveOutRestart(_device);		_paused = false;	}	return waspaused?1:0;}
开发者ID:svn2github,项目名称:Brany_Skeldalu,代码行数:15,


示例17: lock

void COutput::Pause(BOOL fPause){	if (!m_hwo)		return;	if (m_fDoubleBuf)		m_fPaused = fPause;	else {		CAutoLock lock(&m_csecDevice);		if (fPause)			waveOutPause(m_hwo);		else			waveOutRestart(m_hwo);	}}
开发者ID:v-zaburdaev,项目名称:Gsplayer2,代码行数:15,


示例18: winaudio_out_ctl

static intwinaudio_out_ctl (HWVoiceOut *hw, int cmd, ...){    WinAudioOut*  s = (WinAudioOut*) hw;    switch (cmd) {    case VOICE_ENABLE:        waveOutRestart( s->waveout );        break;    case VOICE_DISABLE:        waveOutPause( s->waveout );        break;    }    return 0;}
开发者ID:ACSOP,项目名称:android_external_qemu,代码行数:16,


示例19: native_midi_pause

void native_midi_pause(int pauseon) //maks{	static int pause = 0;	if(hMidiStream)	{		if(pauseon && !pause)		{			waveOutPause(hMidiStream);			pause = 1;		}		else if(!pauseon && pause)		{			waveOutRestart(hMidiStream);			pause = 0;		}	}}
开发者ID:cubemoon,项目名称:game-editor,代码行数:17,


示例20: DSOUND_PrimaryPlay

HRESULT DSOUND_PrimaryPlay(DirectSoundDevice *device){	HRESULT err = DS_OK;	TRACE("(%p)/n", device);	if (device->hwbuf) {		err = IDsDriverBuffer_Play(device->hwbuf, 0, 0, DSBPLAY_LOOPING);		if (err != DS_OK)			WARN("IDsDriverBuffer_Play failed/n");	} else {		err = mmErr(waveOutRestart(device->hwo));		if (err != DS_OK)			WARN("waveOutRestart failed/n");	}	return err;}
开发者ID:carlosbislip,项目名称:wine,代码行数:17,


示例21: cubeb_stream_start

intcubeb_stream_start(cubeb_stream * stm){  MMRESULT r;  EnterCriticalSection(&stm->lock);  r = waveOutRestart(stm->waveout);  LeaveCriticalSection(&stm->lock);  if (r != MMSYSERR_NOERROR) {    return CUBEB_ERROR;  }  stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_STARTED);  return CUBEB_OK;}
开发者ID:FunkyVerb,项目名称:devtools-window,代码行数:17,


示例22: playsound

int playsound(AUDIO_t *audio) {	if (audio->init == 0) {		soundinit(audio);	} else {		int i,b;		audio->PlayTime = tc_elapsed(audio->timer_c) - (BankTime * ((float)BufferBanks));		audio->PlayPnt = (audio->CurPnt-(PreferedSamples * BufferBanks)) % BufferSamples;		for(b = 0; b < BufferBanks; b++) {			for(i = 0; i < PreferedSamples; i++) {				audio->playbuf[b][i].left = 0x80;				audio->playbuf[b][i].right = 0x80;			}		}		waveOutRestart(audio->hWaveOut);		audio->enabled = 1;	}	return 0;}
开发者ID:alberthdev,项目名称:wxwabbitemu,代码行数:18,


示例23: playsound

int playsound(AUDIO_t *audio) {	if (audio->init == 0) {		soundinit(audio);	} else {		audio->PlayTime = audio->timer_c->elapsed - (BANK_TIME * ((float)BUFFER_BANKS));		audio->PlayPnt = (audio->CurPnt - (PREFERED_SAMPLES * BUFFER_BANKS)) % BUFFER_SMAPLES;		for (int b = 0; b < BUFFER_BANKS; b++) {			for (int i = 0; i < PREFERED_SAMPLES; i++) {				audio->playbuf[b][i].left = 0x80;				audio->playbuf[b][i].right = 0x80;			}		}#ifdef _WINDOWS		waveOutRestart(audio->hWaveOut);#endif		audio->enabled = TRUE;	}	return 0;}
开发者ID:BuckeyeDude,项目名称:Wabbitemu,代码行数:20,


示例24: MCIAVI_mciResume

/*************************************************************************** * 				MCIAVI_mciResume			[internal] */static	DWORD	MCIAVI_mciResume(UINT wDevID, DWORD dwFlags, LPMCI_GENERIC_PARMS lpParms){    WINE_MCIAVI *wma;    TRACE("(%04x, %08X, %p)/n", wDevID, dwFlags, lpParms);    wma = MCIAVI_mciGetOpenDev(wDevID);    if (wma == NULL)		return MCIERR_INVALID_DEVICE_ID;    if (dwFlags & MCI_TEST)	return 0;    EnterCriticalSection(&wma->cs);    if (wma->dwStatus == MCI_MODE_PAUSE)        wma->dwStatus = MCI_MODE_PLAY;    if (wma->lpWaveFormat) {        LeaveCriticalSection(&wma->cs);        return waveOutRestart(wma->hWave);    }    LeaveCriticalSection(&wma->cs);    return 0;}
开发者ID:AlexSteel,项目名称:wine,代码行数:26,


示例25: pcm_submit

int pcm_submit(){        if (!sound || !wout) {                pcm.pos = 0;                return 0;        }        if (pcm.pos) {                hdr[curbuf].dwBufferLength = pcm.pos * cb_per_sample;                hdr[curbuf].dwBytesRecorded = pcm.pos * cb_per_sample;                waveOutPrepareHeader(wout, &hdr[curbuf], sizeof WAVEHDR);                waveOutWrite(wout, &hdr[curbuf], sizeof WAVEHDR);                total_bytes += pcm.pos * cb_per_sample;                if (soundresume)                        waveOutRestart(wout);                if (g_fThrottling) {                        int start = timer_time_in_msec();                        if (WaitForSingleObject(semaph, WOUT_TIMEOUT) == WAIT_TIMEOUT) {                                waveOutReset(wout);                                while (ReleaseSemaphore(semaph, 1, NULL));                                waveOutPause(wout);                                soundresume = 1;                        }                        last_wait_time += timer_time_in_msec() - start;                }                curbuf = (curbuf + 1) % buffers;                pcm.buf = buf + pcm.len * curbuf * cb_per_sample;                pcm.pos = 0;        }        return 0;}
开发者ID:milot-mirdita,项目名称:PocketGnuBoy,代码行数:36,


示例26: PauseStream

void PauseStream(bool PauseOn){    UINT32 RetVal;    if (! WaveOutOpen)        return;	// Thread is not active#ifdef WIN32    switch(PauseOn)    {    case true:        RetVal = waveOutPause(hWaveOut);        break;    case false:        RetVal = waveOutRestart(hWaveOut);        break;    }    StreamPause = PauseOn;#else    PauseThread = PauseOn;#endif    return;}
开发者ID:codeman38,项目名称:vgmplay,代码行数:24,



注:本文中的waveOutRestart函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ waveOutUnprepareHeader函数代码示例
C++ waveOutPrepareHeader函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。