当前位置: 首页>>代码示例>>C++>>正文


C++ alcDestroyContext函数代码示例

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


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

示例1: play

static void play() {
	ALCdevice *dev;
	ALCcontext *ctx;
	unsigned src;
	unsigned bufs[2];
	unsigned buf;
	int v;
	float zero[3];

	memset(zero, 0, sizeof zero);

	dev = alcOpenDevice(NULL);
	ctx = alcCreateContext(dev, NULL);
	alcMakeContextCurrent(ctx);

	alGenSources(1, &src);
	alGenBuffers(2, bufs);

	alSourcef(src, AL_PITCH, 1.0f);
	alSourcef(src, AL_GAIN, 1.0f);
	alSourcefv(src, AL_POSITION, zero);
	alSourcefv(src, AL_VELOCITY, zero);
	alSourcei(src, AL_SOURCE_RELATIVE, AL_TRUE);
	alSourcei(src, AL_LOOPING, AL_FALSE);

	ima_init(&ima_state);

	queue(src, bufs[0]);
	queue(src, bufs[1]);

	alSourcePlay(src);

	for (;;) {
		alGetSourcei(src, AL_BUFFERS_PROCESSED, &v);

		while (v-- > 0) {
			alSourceUnqueueBuffers(src, 1, &buf);
			queue(src, buf);
		}

		alGetSourcei(src, AL_SOURCE_STATE, &v);

		if (v == AL_STOPPED)
			break;

		usleep(1000);
	}

        alDeleteSources(1, &src);
        alDeleteBuffers(2, bufs);
        alcMakeContextCurrent(NULL);
        alcDestroyContext(ctx);
        alcCloseDevice(dev);
}
开发者ID:Bloodknight,项目名称:SmallLibraries,代码行数:54,代码来源:test.c

示例2: SDL_FreeSurface

void Game::cleanup () {
   if (!errorLoadingLibraries) { 
      SDL_FreeSurface (screen);

      TTF_Quit ();
      SDL_Quit ();

      alcDestroyContext (alcContext);
      alcCloseDevice (alcDevice);
   }
}
开发者ID:abbychau,项目名称:BEATMAX,代码行数:11,代码来源:Game.cpp

示例3: alcMakeContextCurrent

AudioContext::~AudioContext()
{
  if (m_handle)
  {
    alcMakeContextCurrent(nullptr);
    alcDestroyContext((ALCcontext*) m_handle);
  }

  if (m_device)
    alcCloseDevice((ALCdevice*) m_device);
}
开发者ID:elmindreda,项目名称:Nori,代码行数:11,代码来源:Audio.cpp

示例4: alDeleteSources

CSound::~CSound()
{
	alDeleteSources( 3, source );
	alDeleteBuffers( 3, buffer );
	// Выключаем текущий контекст
	alcMakeContextCurrent(0);
	// Уничтожаем контекст
	alcDestroyContext( pContext );
	// Закрываем звуковое устройство
	alcCloseDevice( pDevice );
}
开发者ID:Dimiondark,项目名称:testxo,代码行数:11,代码来源:Sound.cpp

示例5: while

SoundManager::~SoundManager()
{
	while (soundSources->size() > 0) {
		delete soundSources->back();
		soundSources->pop_back();
	}
	delete soundSources;
	alcMakeContextCurrent(NULL);
	alcDestroyContext(context);
	alcCloseDevice(device);
}
开发者ID:BSkin,项目名称:LudumDare-08-21-2015,代码行数:11,代码来源:SoundManager.cpp

示例6: guard

void clAudioThread::ShutdownOpenAL()
{
#if L_AUDIO_USE_OPENAL
	guard();

	alcDestroyContext( FContext );
	alcCloseDevice( FDevice );

	unguard();
#endif
}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:11,代码来源:Audio_OpenAL.cpp

示例7: alcMakeContextCurrent

void Audio::closeOutput()
{
    if (alContext)
    {
        alcMakeContextCurrent(nullptr);
        alcDestroyContext(alContext);
    }

    if (alOutDev)
        alcCloseDevice(alOutDev);
}
开发者ID:justzx2011,项目名称:qTox,代码行数:11,代码来源:audio.cpp

示例8: alcMakeContextCurrent

//---------------------------------------
void ofOpenALSoundPlayer::close(){
    if(alContext != NULL){
        alcMakeContextCurrent(NULL);
        alcDestroyContext(alContext);
        alContext = NULL;
    }
    if(alDevice != NULL){
        alcCloseDevice(alDevice);
        alDevice = NULL;
    }
}
开发者ID:CLOUDS-Interactive-Documentary,项目名称:openFrameworks,代码行数:12,代码来源:ofOpenALSoundPlayer.cpp

示例9: cleanup

static void cleanup(void) {
	alcDestroyContext(cc);
#ifdef DMALLOC
	dmalloc_verify(0);
	dmalloc_log_unfreed();

#endif
#ifdef JLIB
	jv_check_mem();
#endif
}
开发者ID:Aye1,项目名称:RVProject,代码行数:11,代码来源:testpitch3.c

示例10: alcCloseDevice

//---------------------------------------
void ofOpenALSoundPlayer_TimelineAdditions::close(){
	if(alDevice){
		alcCloseDevice(alDevice);
		alDevice = NULL;
		alcDestroyContext(alContext);
		alContext = 0;
#ifdef OF_USING_MPG123
		mpg123_exit();
#endif
	}
}
开发者ID:JoshuaBatty,项目名称:ofxTimeline,代码行数:12,代码来源:ofOpenALSoundPlayer_TimelineAdditions.cpp

示例11: audio_close_device

void audio_close_device(void)
{
    if (gAudioDevice.Device != NULL)
    {
        alcMakeContextCurrent(NULL);
        alcDestroyContext(gAudioDevice.Context);
        alcCloseDevice(gAudioDevice.Device);
        gAudioDevice.Device  = NULL;
        gAudioDevice.Context = NULL;
    }
}
开发者ID:russellklenk,项目名称:gwbase,代码行数:11,代码来源:ll_audio.cpp

示例12: free

CWav::~CWav() {
  if (m_PCM.raw) {
    free(m_PCM.raw);
    m_PCM.raw = 0;
  }
  alDeleteSources(1, &m_AL.source);
  alDeleteBuffers(1, &m_AL.buffer);
  alcMakeContextCurrent(NULL);
  alcDestroyContext(m_AL.context);
  alcCloseDevice(m_AL.device);
}
开发者ID:nnkgw,项目名称:perfume,代码行数:11,代码来源:wav.cpp

示例13: alcCloseDevice

//---------------------------------------
void ofSoundPlayerExtended::close(){
    if(alDevice){
        alcCloseDevice(alDevice);
        alDevice = NULL;
        alcDestroyContext(alContext);
        alContext = 0;
#ifdef OF_USING_MPG123
        mpg123_exit();
#endif
    }
}
开发者ID:leozimmerman,项目名称:of-examples,代码行数:12,代码来源:ofSoundPlayerExtended.cpp

示例14: delete

WSoundComponent::~WSoundComponent(void) {
	for (uint i = 0; i < m_soundV.size(); i)
		delete (m_soundV[i]);

	// Exit open AL
	m_oalContext = alcGetCurrentContext();
	m_oalDevice = alcGetContextsDevice(m_oalContext);
	alcMakeContextCurrent(nullptr);
	alcDestroyContext(m_oalContext);
	alcCloseDevice(m_oalDevice);
}
开发者ID:MouniraTlili,项目名称:Wasabi,代码行数:11,代码来源:WSound.cpp

示例15: alcMakeContextCurrent

AudioDevice::~AudioDevice()
{
    // Destroy the context
    alcMakeContextCurrent(NULL);
    if (audioContext)
        alcDestroyContext(audioContext);

    // Destroy the device
    if (audioDevice)
        alcCloseDevice(audioDevice);
}
开发者ID:Sonkun,项目名称:SFML,代码行数:11,代码来源:AudioDevice.cpp


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