目次 - SDL 3.0 API(機能別) - 再生と録音 - SDL_SetAudioDeviceGain

SDL_SetAudioDeviceGain

オーディオデバイスのゲインを設定する

ヘッダ

SDL3/SDL_audio.h

構文

bool SDL_SetAudioDeviceGain(SDL_AudioDeviceID devid, float gain);

引数

SDL_AudioDeviceIDdevidゲインを変更するオーディオデバイス
floatgainゲイン. 1.0fは変更なし. 0.0fは無音

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

デバイスのゲインはボリュームのことで, 値が大きいほど出力が大きく, 0は無音である.

オーディオデバイスのゲインのデフォルトは1.0f(出力を変更しない)である.

物理デバイスのゲインは変更できず, 論理デバイスのみ可能である. この関数は物理デバイスに対して常に偽を戻す. この関数で一度に複数の論理デバイスを調整できるのは一見便利だが, プログラムの別の分離した箇所とアプリケーションやライブラリが干渉する可能性がある.

これが適用されると, オーディオストリームごとのゲインと共に再生時に適用され, 継続して様々な効果が生じる. 録音デバイスでは, データがオーディオストリームに渡される前にゲインが調整される. 録音オーディオストリームは, データを他の部分で出力する場合, 必要ならば録音オーディオストリームはさらにその部分でゲインを調整することができるが, 2回目のゲインはデータがオーディオストリームを再び離れるまで適用されない.

スレッドセーフ

この関数はストリーム固有のミューテックスが行われている限りどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_SetAudioDeviceGain - SDL Wiki