2016-12-01 13 views
1

SDL Mix에는 특정 Mix_Music 트랙을 정지시키는 방법이 있습니까? 예 : 다음과 같이 입력하십시오 :Mix_Halt 특정 트랙?

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

감사합니다.

답변

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에서 모든 정보를 찾을 수 있습니다 : 있습니다.