プラグインのための関数です. 様々なファイル形式での読み込み・保存やオーディオデバイスの入出力が可能となります. 高水準APIと低水準APIがあり,通常は,高水準APIのみで事が足りると思います.
プラグインが動作するためには, プラグインファイル(ほとんどが別パッケージのspPluginの中に含まれています)が 以下のディレクトリ(フォルダ)のいずれかに存在している 必要があります.
高水準APIを用いて音声ファイルを読み書きする手順は以下の通りで, C言語でファイルを読み書きする標準的な手順と良く似ています.
以下は,上記手順による読み込みプログラム例の一部分です.
long data_length; /* バッファの長さ */
char *input_file; /* ファイル名 */
double *data;
long nread;
spPlugin *i_plugin;
spWaveInfo wave_info;
:
data = xspMalloc(data_length * sizeof(double));
i_plugin = spOpenFilePluginArg(NULL, input_file, "r", SP_PLUGIN_DEVICE_FILE,
&wave_info, NULL, 0, NULL, NULL);
if (i_plugin != NULL) {
/* wave_info.samp_rate:サンプリング周波数 */
/* wave_info.samp_bit:量子化ビット数 */
/* wave_info.num_channel:チャネル数 */
:
for (i = 0;; i++) {
if ((nread = spReadPluginDouble(i_plugin, data, data_length)) <= 0) {
break;
}
:
}
spCloseFilePlugin(i_plugin);
}
Last modified: "2013-06-24 14:12:32 hideki"