run()
特定のポイントが範囲内にある場合、プログラムはサウンドの再生を停止する必要があります。そのために、別のスレッドで実行され、 and を使用してサウンドを再生する関数を持つクラスがSDL.h
ありSDL_mixer.h
ます。
void SoundCheck::run()
{
Mix_PlayMusic(music, 1);
while(1)
{
if(normalize(sound[0], range_->getPos()))
{
printf("stop sound\n");
Mix_HaltChannel(-1);
}
sleep(1);
}
}
しかし、if
条件が true を返すと、「停止音」が出力されますが、音はまだ再生されます。何が問題のようですか?