本文整理汇总了C++中Mix_FreeMusic函数的典型用法代码示例。如果您正苦于以下问题:C++ Mix_FreeMusic函数的具体用法?C++ Mix_FreeMusic怎么用?C++ Mix_FreeMusic使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Mix_FreeMusic函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SDL_FreeSurface
// 終了処理を行う
void Game::Finalize(void) {
// 解放する
SDL_FreeSurface(block_image);
SDL_FreeSurface(section_image);
SDL_FreeSurface(section_image_02);
SDL_FreeSurface(particle_image);
TTF_CloseFont(font);
TTF_CloseFont(big_font);
Mix_FreeMusic(music_main);
// 終了する
TTF_Quit();
Mix_CloseAudio();
SDL_Quit();
}
示例2: load
bool Music::load()
{
if (!SDLManager::hasAudio()) return false;
if (this->music) Mix_FreeMusic(this->music);
this->music = Mix_LoadMUS(this->filepath.c_str());
if (!this->music)
{
SDLManager::errorLog("Music::load: Couldn't load music on " + this->filepath);
return false;
}
return true;
}
示例3: noegnud_sound_done
void noegnud_sound_done() {
noegnud_tcollection *sound;
if (!noegnud_sound_initialised) return;
sound=noegnud_sounds;
while (sound) {
if (((noegnud_sound_tsound *)(sound->data))->chunk) Mix_FreeChunk(((noegnud_sound_tsound *)(sound->data))->chunk);
if (((noegnud_sound_tsound *)(sound->data))->music) Mix_FreeMusic(((noegnud_sound_tsound *)(sound->data))->music);
noegnud_mem_free(sound->data);
sound=sound->next;
}
noegnud_collection_destroy(&noegnud_sounds);
noegnud_sounds=NULL;
}
示例4: SDL_FreeSurface
void Tela::clean_up() {
//Libera todas as superficies da memoria
SDL_FreeSurface( telaInicial );
SDL_FreeSurface( telaIdentificacao );
SDL_FreeSurface( telaInstrucoes );
SDL_FreeSurface( telaConfigSound_ON );
SDL_FreeSurface( telaConfigSound_OFF );
SDL_FreeSurface( telaLevelUp );
SDL_FreeSurface( telaGameOver );
SDL_FreeSurface( gems );
SDL_FreeSurface( gems_dica );
SDL_FreeSurface( screen );
SDL_FreeSurface( fundo );
SDL_FreeSurface( nomeJogador );
SDL_FreeSurface( pontosJogador );
SDL_FreeSurface( gemYellow );
SDL_FreeSurface( gemWhite );
SDL_FreeSurface( gemBlue );
SDL_FreeSurface( gemRed );
SDL_FreeSurface( gemPurple );
SDL_FreeSurface( gemOrange );
SDL_FreeSurface( gemGreen );
SDL_FreeSurface( fase1 );
SDL_FreeSurface( fase2 );
SDL_FreeSurface( fase3 );
SDL_FreeSurface( fase4 );
SDL_FreeSurface( hint );
//Libera ficheiro de audio da memoria
Mix_FreeMusic(music);
//Encerra SDL_mixer
Mix_CloseAudio();
//Fecha a fonte que foi usada
TTF_CloseFont( font );
//Encerra SDL_ttf
TTF_Quit();
//Encerra SDL
SDL_Quit();
//Libera objetos que foram alocados dinamicamente anteriormente
delete pontos;
delete user;
}
示例5: Mix_FreeMusic
Graphics::~Graphics() {
Mix_FreeMusic(backgroundMusic);
Mix_FreeChunk(soundEffect1);
Mix_FreeChunk(soundEffect2);
this->backgroundMusic = NULL;
this->soundEffect1 = NULL;
this->soundEffect2 = NULL;
SDL_DestroyWindow(window);
SDL_DestroyTexture(backgroundImage);
SDL_DestroyTexture(border);
SDL_DestroyTexture(snakeBody);
SDL_DestroyTexture(snakeHeadDown);
SDL_DestroyTexture(snakeHeadLeft);
SDL_DestroyTexture(snakeHeadRight);
SDL_DestroyTexture(snakeHeadUp);
SDL_DestroyTexture(snakeTail);
SDL_DestroyTexture(apple);
SDL_DestroyTexture(banana);
SDL_DestroyTexture(bomb);
SDL_DestroyTexture(text);
SDL_DestroyTexture(playerNameText);
SDL_DestroyTexture(scoreText);
SDL_DestroyTexture(currentScore);
SDL_DestroyRenderer(renderTarget);
this->window = NULL;
this->backgroundImage = NULL;
this->border = NULL;
this->snakeBody = NULL;
this->snakeHeadDown = NULL;
this->snakeHeadLeft = NULL;
this->snakeHeadRight = NULL;
this->snakeHeadUp = NULL;
this->snakeTail = NULL;
this->apple = NULL;
this->banana = NULL;
this->bomb = NULL;
this->text = NULL;
this->playerNameText = NULL;
this->scoreText = NULL;
this->currentScore = NULL;
this->renderTarget = NULL;
Mix_CloseAudio();
Mix_Quit();
IMG_Quit();
SDL_Quit();
}
示例6: Mix_FreeMusic
void SoundManager::releaseMusic(const std::string& fileName)
{
std::string absFileName = RESOURCE_DIR + AUDIO_DIR + fileName;
// If the resource already exists, check its tracker count.
// If it is currently 1, we are removing the last handle to it
// so we need to free the resource and remove it from our map.
//
// Otherwise, just decrease the count in the tracker
MusicIterator musicElement = musics.find(absFileName);
if (musicElement != musics.end())
{
Mix_FreeMusic(musicElement->second);
musics.erase(musicElement);
}
}
示例7: I_SDL_UnRegisterSong
static void I_SDL_UnRegisterSong(void *handle)
{
Mix_Music *music = (Mix_Music *) handle;
if (!music_initialized)
{
return;
}
if (handle == NULL)
{
return;
}
Mix_FreeMusic(music);
}
示例8: CleanUp
void CleanUp(void)
{
if( Mix_PlayingMusic() ) {
Mix_FadeOutMusic(1500);
SDL_Delay(1500);
}
if ( music ) {
Mix_FreeMusic(music);
music = NULL;
}
if ( audio_open ) {
Mix_CloseAudio();
audio_open = 0;
}
SDL_Quit();
}
示例9: close
void close()
{
//Free the sound effects
Mix_FreeChunk( sample );
sample = NULL;
//Free the music
Mix_FreeMusic( music );
music = NULL;
//Quit SDL subsystems
Mix_Quit();
SDL_Quit();
}
示例10: Mix_FreeMusic
void AudioManager::destroy()
{
if (isInitialized_)
{
isInitialized_ = false;
//Cleanup
for (auto& it : musicMap_)
{
Mix_FreeMusic(it.second);
}
musicMap_.clear();
Mix_CloseAudio();
Mix_Quit();
}
}
示例11: Mix_HaltMusic
void soundLib::load_boss_music(string music_file) {
string filename;
if (boss_music != NULL) {
Mix_HaltMusic();
Mix_FreeMusic(boss_music);
boss_music = NULL;
}
filename = FILEPATH + "music/" + music_file;
//std::cout << "soundLib::load_boss_music - filename: " << filename << std::endl;
boss_music = Mix_LoadMUS(filename.c_str());
if (!boss_music) {
std::cout << "Error in soundLib::load_boss_music::Mix_LoadMUS('" << filename << "': '" << Mix_GetError() << "'\n";
exit(-1);
}
}
示例12: Mix_FreeMusic
void BGMusic::closeMedia()
{
Mix_FreeMusic( bgmusic );
bgmusic = NULL;
Mix_FreeChunk( start_sound );
start_sound = NULL;
Mix_FreeChunk( victory_sound );
victory_sound = NULL;
Mix_FreeChunk( lose_sound );
lose_sound = NULL;
Mix_FreeChunk( aggro_sound );
aggro_sound = NULL;
//Quit SDL subsystems
Mix_Quit();
SDL_Quit();
}
示例13: stopMusic
SDLInteraction::~SDLInteraction()
{
stopMusic();
if (m_audioInitialized)
{
if (m_music != NULL)
{
Mix_HaltMusic();
Mix_FreeMusic(m_music);
}
Mix_CloseAudio();
}
SDL_Quit();
delete m_soundMap;
}
示例14: glDeleteProgram
void ResourceManager::Clear()
{
// (Properly) delete all shaders
for (auto iter : Shaders)
glDeleteProgram(iter.second.ID);
// (Properly) delete all textures
for (auto iter : Textures)
glDeleteTextures(1, &iter.second.ID);
// (Properly) delete all cubemaps
for (auto iter : Cubemaps)
glDeleteTextures(1, &iter.second.ID);
for(auto iterator : Musics)
Mix_FreeMusic(iterator.second);
for(auto iterator : Sons)
Mix_FreeChunk(iterator.second);
}
示例15: Mix_FadeOutMusic
void Sound::fadeOutMusic(int ms)
{
mCurrentMusicFile.clear();
if (!mInstalled)
return;
logger->log("Sound::fadeOutMusic() Fading-out (%i ms)", ms);
if (mMusic)
{
Mix_FadeOutMusic(ms);
Mix_FreeMusic(mMusic);
mMusic = NULL;
}
}