SDLを使用して簡単なゲームを作成し、プログラムの最初からバックグラウンドで音楽を再生していますが、音楽が停止したときに次のトラック開始することができます。私はSDL_mixerライブラリを使って音楽を読み込んで再生しています。SDL2で再生する音楽を確認する
bool loadTrack()
{
song = Mix_LoadMUS("backgroundmusic.mp3");
if (song == NULL)
{
return false;
}
else
{
Mix_PlayMusic(song, -1);
return true;
}
}
私は音楽と呼ばれる作られたクラスで音楽をロードしてプレイしてるが、曲はNULLとしてクラスのコンストラクタで定義され、それにトラック名を与えると、そのクラスに「loadTrack」方法でそれを再生。クラス内で呼び出すことのできる別のメソッドを使いたいと思います。トラックが再生を終了するとtrueを返し、再生中はfalseを返します。私の問題は、トラックがまだ再生されているかどうか、またはミキサーライブラリにまだ再生中かどうかをチェックするための独自の機能があるかどうかをチェックする方法がないということです。
私が必要としていた正確な答えは、今日後で家に帰るときに試してみる – Bananas88