CREATESOUNDFILE(3X) — NEWS-OS Programmer’s Manual
名称
CreateSoundFile, OpenSoundFile, ReadSoundFile, WriteSoundFile, SeekSoundFile, CloseSoundFile, − サウンドファイルを扱う
形式
#include <newsiodev/sound.h>
#include <soundlib.h>
SFILE∗CreateSoundFile( f_name, sbparam )
charf_name[];
struct sbparam∗sbparam;
SFILE∗OpenSoundFile( f_name )
charf_name[];
intReadSoundFile( ptr, size, nitems, sfile )
char∗ptr;
intsize, nitems;
SFILE∗sfile;
intWriteSoundFile( ptr, size, nitems, sfile )
char∗ptr;
intsize, nitems;
SFILE∗sfile;
intSeekSoundFile( sfile, second, offset )
SFILE∗sfile;
intsecond, offset;
intCloseSoundFile( sfile )
SFILE∗sfile;
解説
CreateSoundFile は新たに音声ファイルを作成します。 新しく音声ファイルを作成するために、ファイルをオープンしヘッダ情報を整理して、 音声データの書き込みに備えます。 f_name は、作成するファイルの名前です。 sbparam は格納する音声のフォーマットを示します。 CreateSoundFile は、ファイルの作成に成功すると、音声ファイルの情報を格納している構造体 へのポインタを返します。 ファイルの作成に失敗した場合は、 NULL ポインタ を返します。ファイルのオープンに失敗した場合は、変数 errno に open(2) システムコールと同様のエラー番号が格納されています。
OpenSoundFile は既存の音声ファイルをオープンします。 既存の音声ファイルを使用するために、 ファイルをオープンしヘッダ情報を読み込んで、音声データの読み書きに備えます。 f_name は、オープンするファイルの名前です。 OpenSoundFile は、ファイルのオープンに成功すると、音声ファイルの情報を格納している構造体 へのポインタを返します。 ファイルのオープンに失敗した場合は、 NULL ポインタが返り、変数 errno に open(2) システムコールと同様のエラー番号が格納されています。
ReadSoundFile は、音声データをファイルから読み出します。 バッファ ptr に、ブロック長 size のデータを nitems ブロックだけ sfile が示す音声ファイルから読み出します。 読み込みに成功したブロック数を返します。
音声データの末尾を過ぎて読み込みを行おうとした場合と、読み込みに失敗し た場合は、 0 を返します。読み込みに失敗した場合は、変数 errno に read(2) システムコールと同様のエラー番号が格納されています。
WriteSoundFile は、音声データをファイルに書き出します。 バッファ ptr に格納された、ブロック長 size のデータを nitems ブロックだけ sfile が示す音声ファイルに書き出します。
書き込みに成功したブロック数を返します。 書き込みに失敗した場合は、 0 を返し、変数 errno に write(2) システムコールと同様のエラー番号が格納されています。
SeekSoundFile は音声データの指定位置まで移動します。 sfile で示された音声ファイルにおいて、音声データ中の希望の位置まで移動します。 移動位置は、時間指定(秒) second とバイト指定 offset の加算で求められます。
移動は、最寄りのデータブロックの先頭で停止します。 従って ADPCM などブロックサイズの大きなデータでは、指定した位置から多少 ずれることもあります。
移動に成功した場合は、音声データ中の位置をバイト数で返します。 失敗した場合は、 −1 を返します。
CloseSoundFile は、 CreateSoundfile、OpenSoundFile でオープンした音声ファイルをクローズします。 その際、音声ファイルのヘッダ情報を、音声データに合わせて更新します。 音声ファイルをクローズする際は、必ずこの関数を呼んで下さい。
関連ファイル
/usr/sony/lib/libsound.a
/sys/newsiodev/sound.h
/usr/sony/include/soundlib.h
関連事項
sb(4), sbrec(1), sbplay(1), sbchk(1), sbconv(1)
NEWS-OSRelease 4.2.1R