Shinji Inotsume
12/22/2009 4:08 AM
post44258
|
QNX 6.4.x の Neutrino 環境では、それまで標準で持っていた mmplay 等のサウンド再生アプリケーションが添付されなくなり、その
ままではサウンドデバイスの動作確認ができなくなっています。
そこでマニュアルにある WAV 再生サンプルコードをコンパイルし、サウンドデバイスの動作確認を行う手順を紹介します。
1.サンプルコードのコンパイル
まずサンプルコードを切り出し、コンパイルします。サンプルコードは、オンラインマニュアルの
Audio Developer's Guide -> wave.c example
にあります。これをコピーして、例えば wavplay.c という名前でファイルを作成します。
このファイルをコンパイルして実行バイナリを作成するわけですが、ライブラリとして libadound.so をリンクする必要がありますの
で、IDE でビルドする場合は、
1) プロジェクトの [Properties] を選択して [QNX C/C++ Project] を選択。
2) [Linker] タブを選択して [Category] から [Extra libs] を選択。
3) [Add] ボタンをクリックして Name に asound (libasound.so の lib と .so 部分を除いた文字列) と入力。
と設定し、あとは通常通りビルドして下さい。
コマンドラインからコンパイルする場合には、
# qcc -o wavplay wavplay.c -lasound
を実行して下さい。
2.WAV ファイル
QNX Neutrino 環境には標準では WAV ファイルを持っていませんので、手持ちの WAV ファイルやインターネット上のフリーの WAV フ
ァイル等を用意して下さい。ここでは sample.wav とします。
3.サウンド再生
QNX Neutrino の起動時にサウンドデバイスが自動的に認識されていれば、
# ./wavplay sample.wav
を実行すると、音声出力端子からサウンドが出力されます。
4.サポートされているサウンドデバイス
サポートされているサウンドデバイスは下記のサイトや Utilities Reference の deva-ctrl-xxx 項目で確認できます。
http://www.qnx.com/developers/hardware_support/
ただし、最近は単独のサウンドカードよりも、CPU チップセットとコーデック IC による組み合わせが多いと思います。
この場合、使用するドライバとしては deva-ctrl-i8x0 や deva-ctrl-intel_hda が対象となりすが、使用されているコーデック IC
の種類によってサポートされているか否かが変わってきます。
残念ながらサポートされているコーデック IC は公開されていないため、実際に動作するかどうかは試してみないとわかりせん。
上記の手順でサウンドが再生されなかった場合は、次の手順を試してみて下さい。
# slay io-audio
# io-audio -dintel_hda (Intel High Definition Audio の場合)
# ./wavplay sample.wav
これでサウンドが再生できるようでしたら、サポートされているコーデック IC です。
もし再生できないようでしたら、現状ではサポートされていないと思われます。
|
|
|