« ~麻布~芝 | トップページ | Wサウンド再生ソフトをつくる スコープ »

2011年9月21日 (水)

Wサウンド再生ソフトをつくる 環境づくり

 塾は中一の子が三単現のsにさしかかって山場です。ここでつまづくと英語が大変になるので、教材作成を念入りにしました。ふだんの会話中心の授業も子供たちの疑問に答えて、今回は説明にすこし比重がかかりました。

 忙しいときほど関係ないことをしたくなります。深夜までかかって教材をつくり、空いた昼間にソフト作りを始めてしまいました。今度は授業にまったく関係のない、「二つのサウンドを同時に再生して、違いを聞き取る」ためのソフトです。これまでサウンドをいじるソフトは手がけたことがないので、いちから勉強です。VB.NETでどうやってサウンドを扱うかも知りません。

 まず、ネットで情報をあさります。

 VBにサウンドを操作する機能がないので、外部の助けを借りなければなりません。VB6.0でAPIを使ってwavを再生したことはありますが、ターゲットはmp3とwmaです。ざっくり、「mciに命令を送る」「media player コントロールをつかう」「DirectXを使う」方法などがあることを、今ごろ知りました。今回は多重再生なので、DirectX、それもmanaged DirectX の AudioVideoPlayback を使うことにします。

 もはやこれはMSがサポートを完了した時代遅れの技術だそうですが、自分用なので勉強をかねて枯れた技術からまず。慣れたらSlimDXに挑戦することにしましょう。

 DirectX9.0は導入済みだったので、ネットのサンプルを組んでみました。「参照の追加」でDirectX と AudioVideoPlayback を組み込み…できません。時間がかかって 2010 では上手くいかないことが分かり2008をインストール・無事に参照できました。
 そしてコーディング: Button1のプロシージャにコードをはりつけて…

Dim fileName As String = "ファイル名"
Dim MyAudio As New Microsoft.DirectX.AudioVideoPlayback.Audio(fileName)
MyAudio.Play()

 これだけなのにさっそく動きません。

 次にわかったのは、64bit環境では「ターゲットを Any PC から x86 に変更する」こと、やりかたは「プロジェクトのプロパティ・コンパイルタブにある、構成・プラットフォームのドロップダウンメニューで設定する」ということが見つかりました。

Platform

 しかし、このメニューが自分の2008には見つかりません。express だから?

 なんとか情報が見つかりました。ツール・オプションメニューの「ビルド構成の詳細を表示」をチェックするのだそうです。これじゃあ見つかりません。ここまでで2日かかりました。忘れてしまいそうなので、ここにメモをまとめて残しとくことにします。


Build

 これを逆からに設定していき、やっと wma も mp3 も鳴りました!


|

« ~麻布~芝 | トップページ | Wサウンド再生ソフトをつくる スコープ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Wサウンド再生ソフトをつくる 環境づくり:

« ~麻布~芝 | トップページ | Wサウンド再生ソフトをつくる スコープ »