コード例 #1
0
ファイル: map_mode.cpp プロジェクト: akien-mga/ValyriaTear
void MapMode::_ResetMusicState()
{
    MusicDescriptor *music = AudioManager->RetrieveMusic(_music_filename);
    MusicDescriptor *active_music = AudioManager->GetActiveMusic();
    // Stop the current music if it's not the right one.
    if (active_music && music != active_music)
        active_music->FadeOut(500);

    // If there is no map music or the music is already in the correct state, don't do anything.
    if (!music || music->GetState() == _audio_state)
        return;

    switch(_audio_state) {
    case AUDIO_STATE_FADE_IN:
    case AUDIO_STATE_PLAYING:
    default:
        // TODO: Seek the music point to not restart it from the beginning.
        // music->SeekSecond(_audio_time_offset);
        // In case the music volume was modified, we fade it back in smoothly
        if(music->GetVolume() < 1.0f)
            music->FadeIn(1000);
        else
            music->Play();
        break;
    case AUDIO_STATE_UNLOADED:
    case AUDIO_STATE_FADE_OUT:
    case AUDIO_STATE_PAUSED:
    case AUDIO_STATE_STOPPED:
        if (music->GetState() == AUDIO_STATE_PLAYING || music->GetState() == AUDIO_STATE_FADE_IN)
            music->FadeOut(1000);
        break;
    }
}
コード例 #2
0
ファイル: audio.cpp プロジェクト: alexanderkjall/ValyriaTear
void AudioEngine::FadeOutActiveMusic(float time)
{
    MusicDescriptor* music = GetActiveMusic();
    if (music)
        music->FadeOut(time);
}