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

SDL_ConvertAudioSamples

オーディオデータを別の形式に変換する

ヘッダ

SDL3/SDL_audio.h

構文

bool SDL_ConvertAudioSamples(const SDL_AudioSpec *src_spec, const Uint8 *src_data, int src_len, const SDL_AudioSpec *dst_spec, Uint8 **dst_data, int *dst_len);

引数

const SDL_AudioSpec *src_spec変換前のオーディオデータの詳細な形式
const Uint8 *src_data変換前のオーディオデータ
intsrc_lensrc_dataの長さ
const SDL_AudioSpec *dst_spec変換後のオーディオデータの詳細な形式
Uint8 **dst_data変換後のデータの書き込み先へのポインタ. SDL_free()で解放する必要がある. エラーの場合はNULL
int *dst_lendst_dataの長さの代入先へのポインタ

戻り値

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

詳細

この関数は便利のための関数だが, 境界でノイズが発生するため, ブロック化したオーディオの再サンプリングには使用すべきでない. この関数は, オーディオデータを変換するとき, 一度だけ, データ全体に対して使用するべきである. より小さなチャンクのオーディオを変換したい場合は, このような状況のために設計されたSDL_AudioStreamを使うこと.

この関数は使用するたびに内部でSDL_AudioStreamの生成と解放を行っている. そのため, 複数回に分けて変換することは, 一度に直接変換するよりも非効率である.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_ConvertAudioSamples - SDL Wiki