第14章:オーディオシステム

AudioPlayer構造体は、このゲームのオーディオシステムの中核を成すものです。このシステムは、RustのSDL2ライブラリのsdl2::mixerモジュールを使用します。.mp3.flac.mod.oggのオーディオファイルを読み込み、再生することができます。AudioPlayer構造体には、mixer_contextという単一のフィールドが含まれています。

AudioPlayerは特定のチャンネル数(numchans)でインスタンス化されます。コンストラクタ関数(new)はSDL2を初期化し、特定の周波数、チャンクサイズ、およびチャンネル数でオーディオデバイスを開きます。

playメソッドを提供しており、オーディオファイルを読み込み、指定された回数だけループ再生し、音量を設定します。playメソッドは、AudioPlayer内の対応するメソッドを使用して一時停止、再開、または停止できるChannelを返します。

AudioPlayerのインスタンスが破棄されると、現在再生中の音楽が停止され、コンソールにメッセージが表示されます。

Last updated