プラグインのための関数です. 様々なファイル形式での読み込み・保存やオーディオデバイスの入出力が可能となります. 高水準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"