2016-12-01 8 views
1

SDL Mixでは、特定のMix_Musicトラックを停止する方法がありますか?例えば。Mix_Halt特定のトラック?

//music1 = the target music track to halt 
if(condition) 
{ 
    Mix_Halt(Music1); 
} 

ありがとうございました。

答えて

0

特定のチャンネルを一時停止する機能がある場合は、Mix_PauseまたはMix_HaltChannelという機能があります。

1

一つだけMix_Musicトラックがあります。 Mix_PlayMusic、 で音楽を再生すると、前に再生した音楽が自動的に停止します(おそらくフェードアウトあり)。あなたが明示的に現在再生中のMix_Musicトラックを停止したい場合は 、 あなたはMix_HaltMusicを使用することができます。

あなたが同時に音を制御したい場合は、代わりにMix_Chunkオブジェクトを使用する必要があります。 これらは、例えば個別に制御することができ、複数のchannels、 で再生できるサンプルは、

Mix_Chunk* chunk1 = Mix_LoadWAV("chunk1.wav"); 
Mix_Chunk* chunk2 = Mix_LoadWAV("chunk2.wav"); 

Mix_PlayChannel(1, chunk1, -1); // Play chunk1 on channel 1 
Mix_PlayChannel(2, chunk2, -1); // Play chunk2 on channel 2 

if (condition) 
    // Only halt channel 1, while channel 2 keeps playing 
    Mix_HaltChannel(1); 

あなたはdocumentation内のすべての情報を見つけることができます。:です。

関連する問題