目次 - SDL_mixer 3.0 - MIX_SetTrackPlaybackPosition

MIX_SetTrackPlaybackPosition

再生中のトラックの現在の入力位置を設定する

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_SetTrackPlaybackPosition(MIX_Track *track, Sint64 frames);

引数

MIX_Track *track設定するトラック
Sint64framesシーク先のサンプルフレーム位置

戻り値

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

詳細

(MIX_GetTrack3DPosition()と混同しないこと. これはトラックの3D空間内の位置で, オーディオデータの再生位置ではない.)

再生中のトラックでは, 次回のミキサーの実行から新しい位置からミキシングが開始される.

位置はデコードされたオーディオデータのサンプルフレーム単位で, 時間ではないため完全なミキシングの位置を得ることができる. 時間単位が必要な場合は, MIX_TrackFramesToMS()で変換してミリ秒を得ることができる.

この関数は入力がシーク可能である必要があり(そのため入力がMIX_SetTrackAudioStream()で設定したものの場合は使用できない), かつオーディオファイルがシーク可能な形式である必要がある. SDL_mixerのデコーダは一部のファイル形式ではシーク不能, またはサンプル単位ではなく時間単位でのみシーク可能で, この場合は最終的な位置は指定したサンプルフレーム位置と多少ずれる可能性がある. オーディオデータとファイルをチェックし, 必要ならばバグレポートを提出すること.

この関数を停止中のトラックに対して呼ぶことはできるが, 後のMIX_PlayTrack()の呼び出しで開始位置はリセットされる. 一時停止中のトラックのトラックの場合は新しい入力位置から一時停止解除される.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_SetTrackPlaybackPosition