本文整理汇总了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);
}
示例2: SDL_FreeSurface
void Game::cleanup () {
if (!errorLoadingLibraries) {
SDL_FreeSurface (screen);
TTF_Quit ();
SDL_Quit ();
alcDestroyContext (alcContext);
alcCloseDevice (alcDevice);
}
}
示例3: alcMakeContextCurrent
AudioContext::~AudioContext()
{
if (m_handle)
{
alcMakeContextCurrent(nullptr);
alcDestroyContext((ALCcontext*) m_handle);
}
if (m_device)
alcCloseDevice((ALCdevice*) m_device);
}
示例4: alDeleteSources
CSound::~CSound()
{
alDeleteSources( 3, source );
alDeleteBuffers( 3, buffer );
// Выключаем текущий контекст
alcMakeContextCurrent(0);
// Уничтожаем контекст
alcDestroyContext( pContext );
// Закрываем звуковое устройство
alcCloseDevice( pDevice );
}
示例5: while
SoundManager::~SoundManager()
{
while (soundSources->size() > 0) {
delete soundSources->back();
soundSources->pop_back();
}
delete soundSources;
alcMakeContextCurrent(NULL);
alcDestroyContext(context);
alcCloseDevice(device);
}
示例6: guard
void clAudioThread::ShutdownOpenAL()
{
#if L_AUDIO_USE_OPENAL
guard();
alcDestroyContext( FContext );
alcCloseDevice( FDevice );
unguard();
#endif
}
示例7: alcMakeContextCurrent
void Audio::closeOutput()
{
if (alContext)
{
alcMakeContextCurrent(nullptr);
alcDestroyContext(alContext);
}
if (alOutDev)
alcCloseDevice(alOutDev);
}
示例8: alcMakeContextCurrent
//---------------------------------------
void ofOpenALSoundPlayer::close(){
if(alContext != NULL){
alcMakeContextCurrent(NULL);
alcDestroyContext(alContext);
alContext = NULL;
}
if(alDevice != NULL){
alcCloseDevice(alDevice);
alDevice = NULL;
}
}
示例9: cleanup
static void cleanup(void) {
alcDestroyContext(cc);
#ifdef DMALLOC
dmalloc_verify(0);
dmalloc_log_unfreed();
#endif
#ifdef JLIB
jv_check_mem();
#endif
}
示例10: alcCloseDevice
//---------------------------------------
void ofOpenALSoundPlayer_TimelineAdditions::close(){
if(alDevice){
alcCloseDevice(alDevice);
alDevice = NULL;
alcDestroyContext(alContext);
alContext = 0;
#ifdef OF_USING_MPG123
mpg123_exit();
#endif
}
}
示例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;
}
}
示例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);
}
示例13: alcCloseDevice
//---------------------------------------
void ofSoundPlayerExtended::close(){
if(alDevice){
alcCloseDevice(alDevice);
alDevice = NULL;
alcDestroyContext(alContext);
alContext = 0;
#ifdef OF_USING_MPG123
mpg123_exit();
#endif
}
}
示例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);
}
示例15: alcMakeContextCurrent
AudioDevice::~AudioDevice()
{
// Destroy the context
alcMakeContextCurrent(NULL);
if (audioContext)
alcDestroyContext(audioContext);
// Destroy the device
if (audioDevice)
alcCloseDevice(audioDevice);
}