Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sb(4)

sbrec(1)

sbplay(1)

sbchk(1)

sbconv(1)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026