Introduction to Sound Programming with ALSA その4

下記URLの記事を自分に必要な所だけ訳しているので、メモ書きを。

http://www.linuxjournal.com/article/6735

A Typical Sound Application

ALSAのPCMインターフェースを使ったプログラムは次のような疑似コードになるでしょう。

    1. 録音か再生目的でPCMインターフェースを開く
    2. ハードウェアパラメータを設定する(アクセスするモード、データのフォーマット、チャンネル数等)
    3. 処理するべきデータが存在する限り、(録音なら)PCMデータを読むか、(再生なら)PCMデータを書き込む
    4. PCMインターフェースを閉じる

コンパイルするには

以下の説明はUbuntu6.06を前提にしています。

まずALSA用の開発環境をそろえます。apt-getでインストールしてください。

$ sudo apt-get install libasound-dev


当然の事ながら、ALSAのヘッダーファイルをインクルードしないとコンパイルできません。
次のようにALSA_PCM_NEW_HW_PARAMS_APIを定義してからインクルードします

#define ALSA_PCM_NEW_HW_PARAMS_API
#include 

コンパイルはALSAライブラリとリンクする必要があるので

$ g++ ***.cpp -lasound

としてください。

また、いくつかのALSAライブラリではdlopenライブラリや浮動小数点ライブラリを使うので

$ g++ ***.cpp -lasound -lm -ldl

とする必要があるかもしれません。