<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>fmod</title><link>http://blogs.wankuma.com/ma2/category/1974.aspx</link><description>fmod</description><managingEditor>ma2</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム &amp;ndash; リソース(*.rc)のデータを参照する</title><link>http://blogs.wankuma.com/ma2/archive/2013/10/30/328193.aspx</link><pubDate>Wed, 30 Oct 2013 20:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2013/10/30/328193.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/328193.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2013/10/30/328193.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/328193.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/328193.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/ma2/archive/2011/01/29/196734.aspx" target="_blank"&gt;いろいろあってて&lt;/a&gt;、5年振りに、fmod exの事を書きます。&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;ゲーム等で、音楽データが*.exeと別々になっていると、ユーザに音楽データ(ファイル)をさわってしまったりすることがあります。&lt;br&gt;対策として、音楽データのリソースを定義して、そこにデータを置きます。&lt;/p&gt;
&lt;p&gt;※ ユーザー定義リソース/カスタムリソースと言われる物です&lt;/p&gt;
&lt;p&gt;以下のコードが例です。&lt;/p&gt;
&lt;div class="sourcecode"&gt;int hoge()&lt;br&gt;{&lt;br&gt;&amp;nbsp; HRSRC hRes = &lt;font color="#9b00d3"&gt;FindResource(0, MAKEINTRESOURCE(IDR_MP3), _T("MP3"));&lt;/font&gt;&lt;br&gt;&amp;nbsp; if(NULL != hRes){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HGLOBAL hData = LoadResource(0, hRes);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(NULL != hData){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD &lt;strong&gt;&lt;font color="#0000ff"&gt;dataSize&lt;/font&gt;&lt;/strong&gt; = SizeofResource(0, hRes);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char* data = (char*)LockResource(hData);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;FMOD_CREATESOUNDEXINFO sndInfo;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;ZeroMemory( &amp;amp;sndInfo, sizeof(FMOD_CREATESOUNDEXINFO) );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sndInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sndInfo.length = &lt;font color="#0000ff"&gt;&lt;strong&gt;dataSize&lt;/strong&gt;&lt;/font&gt;;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = FMOD_System_CreateStream( fmodsystem, data, &lt;strong&gt;&lt;font color="#ff0000"&gt;FMOD_OPENMEMORY&lt;/font&gt;&lt;/strong&gt;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;sndInfo, &amp;amp;fmodsound );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( result != FMOD_OK ){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -3;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp; }&lt;br&gt;&amp;nbsp; return 0;&lt;br&gt;}&lt;/div&gt;
&lt;p&gt;FindResourceからユーザー定義リソースがあるか捜索し、見つかった場合はLockResourceでロックします。&lt;br&gt;SizeofResourceをFMOD_CREATESOUNDEXINFOのlengthに渡します。&lt;/p&gt;
&lt;p&gt;最後に、LockResourceからFMOD_System_CreateStreamへ渡します。&lt;br&gt;この際に第三引数に、FMOD_OPENMEMMORYを付けます。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/328193.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>androidでのfmod(リベンジ)</title><link>http://blogs.wankuma.com/ma2/archive/2012/07/05/281546.aspx</link><pubDate>Thu, 05 Jul 2012 17:26:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2012/07/05/281546.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/281546.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2012/07/05/281546.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/281546.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/281546.aspx</trackback:ping><description>&lt;p&gt;去年書いた[&lt;a href="http://blogs.wankuma.com/ma2/archive/2011/09/11/202686.aspx" target="_blank"&gt;これ&lt;/a&gt;]のリベンジです。&lt;/p&gt;
&lt;p&gt;Eclipseとか、javaとか、androidとか、jarとか、全然知らない状態だったんだ、自分orz&lt;br&gt;androidでfmodのサンプル(examplesの「3D」)が手元で動くまで、かなり手探りでした。&lt;/p&gt;
&lt;hr&gt;

&lt;h1&gt;使ったfmodのバージョンと置き場&lt;/h1&gt;
&lt;p&gt;(&lt;a href="http://www.fmod.org/fmod-downloads.html" target="_blank"&gt;ここ&lt;/a&gt;)からダウンロードする fmodapi44109android を「c:\cygwin\」以下に置きました。&lt;/p&gt;
&lt;p&gt;
&lt;hr&gt;

&lt;h1&gt;Javaの設定&lt;/h1&gt;
&lt;p&gt;今回は、Windows7で環境を作っています。&lt;br&gt;OSの環境変数の「CLASSPATH」に「.;&lt;strong&gt;C:\cygwin\fmodapi44100android\api\lib\fmodex.jar;&lt;/strong&gt;C:\Program Files\Java\jre6\lib\ext\QTJava.zip」を追加しました。&lt;/p&gt;
&lt;hr&gt;

&lt;h1&gt;cygwinの設定&lt;/h1&gt;
&lt;p&gt;前回も書いてますが、cygwin必要です。&lt;br&gt;必要な設定についでは、android ndkに書きました。&lt;br&gt;今回は「C:\cygwin\」以下がcygwinの環境です。&lt;/p&gt;
&lt;p&gt;
&lt;hr&gt;
&lt;h1&gt;
[FMOD_LIB]の設定&lt;/h1&gt;
&lt;p&gt;fmodapi44109android のdocumentationにある「Getting started with FMOD for Android.pdf」をP.8「Running Examples」を見ると、OSの環境変数の「FMOD_LIB」を指定するように指定があります。&lt;br&gt;環境変数に、[名前]「FMOD_LIB」、[内容]「&lt;strong&gt;C:\cygwin\fmodapi44100android\api\lib\fmodex.jar&lt;/strong&gt;」を追加しました。&lt;/p&gt;
&lt;hr&gt;

&lt;h1&gt;[eclipse]Javaのビルド・パス(1)&lt;/h1&gt;
&lt;p&gt;「プロジェクト(P)」→「プロパティー(P)」から、「*** のプロパティー」→「Javaのビルド･パス」→「ライブラリー(L)」の「外部 jar 追加(X)」で、fmodex.jarを選ぶ。&lt;/p&gt;
&lt;p&gt;
&lt;hr&gt;

&lt;h1&gt;[eclipse]Javaのビルド・パス(2)&lt;/h1&gt;
&lt;p&gt;「プロジェクト(P)」→「プロパティー(P)」から、「*** のプロパティー」→「Javaのビルド･パス」→「順序およびエクセポート(O)」で、fmodex.jarを有効にする。&lt;/p&gt;
&lt;hr&gt;

&lt;h1&gt;[android sdk]関連の設定&lt;/h1&gt;
&lt;p&gt;環境変数の「PATH」に、android sdkを置いた場所を追加します。&lt;/p&gt;
&lt;p&gt;
&lt;hr&gt;


&lt;h1&gt;[android ndk]関連の設定&lt;/h1&gt;
&lt;p&gt;cygwinのホームディレクトリの「.bashrc」に、以下の3行を追加します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;export NDK_PROJECT_PATH=/cygdrive/d/Developers/Java/android/&lt;strong&gt;***&lt;/strong&gt; 
&lt;li&gt;export ANDROID_NDK_ROOT=/cygdrive/c/cygwin/&lt;strong&gt;android_ndk_r*&lt;/strong&gt; 
&lt;li&gt;export PATH=$PATH:$ANDROID_NDK_ROOT&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;NDK_PROJECT_PATH は、ndkのプロジェクト(=Eclipseで作ったプロジェクト?)。&lt;br&gt;ANDROID_NDK_ROOT は、ndkのルートを指定します。&lt;br&gt;PATH は、それまでのPATHにndkのルートを追加します。&lt;br&gt;
&lt;hr&gt;


&lt;p&gt;・・・とりあえず出来た。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/281546.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - (番外)iPhone版 SDKがリリースされてました、が</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/30/162387.aspx</link><pubDate>Sun, 30 Nov 2008 20:13:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/30/162387.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/162387.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/30/162387.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/162387.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/162387.aspx</trackback:ping><description>&lt;p&gt;[注意] がっかりするエントリです&lt;/p&gt; &lt;p&gt;fmod APIに関連したエントリなのですが、今回は番外編です。&lt;/p&gt; &lt;p&gt;fmod exは、WindowsやMacやLinuxなどのPCプラットフォーム以外にWindowsCEやコンシューマゲーム機など多くのプラットフォームに対応したSDKを公開しています。&lt;br&gt;# プラットフォームをまたぐ縮小版(Mini FMOD)などもありマルチプラットフォームを目指しているようです&lt;/p&gt; &lt;p&gt;一週間ほど前に新たな対応プラットフォームとしてiPhone版がリリースされていました。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.fmod.org/index.php/fmod/more/28" target="_blank"&gt;Firelight Technologies release FMOD Ex for iPhone.(21-11-2008) / FMOD music &amp;amp; sound effects system&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;そんなわけで、Macを持っていない当方ですが、中身ぐらいのぞけないかなと思いました。&lt;br&gt;が、いまこのエントリを書いている時点でSDKのダウンロードは出来なくなっていました。&lt;br&gt;iPhoneの開発事情は一度リリースしたアプリがAppStoreから取り下げられたりすることがあるので、そういう理由でおさえられちゃったのかなーと真っ先に思いました。&lt;/p&gt; &lt;p&gt;が、フォーラムをのぞくとそんな旨の書き込みは無く、バグ報告のスレッドがある程度でした。&lt;br&gt;さらに情報を探していてMac版のSDKも公開停止になっていることに気づきました。&lt;br&gt;iPhone関連の事情が理由じゃなくて、関連するプラットフォームだから一緒に引っ込めました、というのが真実だといいなと期待しています。&lt;/p&gt; &lt;p&gt;ということで、ちょっと紹介したかったことでがっかりしたエントリでした。&lt;/p&gt; &lt;p&gt;ちなみに、今回のfmod関連エントリはWindows(32bit)のみです。&lt;br&gt;# と書いておかないと大変なことになりそうなのでw&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/162387.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - 楽曲のループと繰返し範囲</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/12/161209.aspx</link><pubDate>Wed, 12 Nov 2008 23:38:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/12/161209.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/161209.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/12/161209.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/161209.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/161209.aspx</trackback:ping><description>&lt;p&gt;fmod APIを使用したプログラムについて解説します。&lt;/p&gt; &lt;p&gt;前回は、システムの初期化からBGMの再生までの方法を紹介しました。&lt;br&gt;今回はそれを拡張する形でfmodの機能を紹介していきます。&lt;/p&gt; &lt;p&gt;前回はmusic.oggをBGMとして読み込みました。&lt;br&gt;しかし、プログラムを実行してみるとわかりますが、一度BGM再生が終了するとそれ以降は音が出ません。&lt;br&gt;繰り返しなり先頭に戻って再度演奏をするようにはなっていません。&lt;br&gt;これを繰り返し演奏にするには、FMOD_System_CreateStream APIの引数を以下のように変更します。  &lt;div class="sourcecode"&gt;// fmodTest01の呼び出し(一度だけ再生)&lt;br&gt;result = FMOD_System_CreateStream( fmodsystem, "./music.ogg", FMOD_DEFAULT, NULL, &amp;amp;fmodsound );&lt;br&gt;↓&lt;br&gt;// 繰り返し再生&lt;br&gt;result = FMOD_System_CreateStream( fmodsystem, "./music.ogg", FMOD_DEFAULT&lt;font color="#ff0000"&gt;&lt;strong&gt; | FMOD_LOOP_NORMAL&lt;/strong&gt;&lt;/font&gt;, NULL, &amp;amp;fmodsound );&lt;/div&gt; &lt;p&gt;FMOD_MODE定数には、FMOD_LOOP_NORMAL(通常の繰り返しを有効にする)というフラグがあります。&lt;br&gt;これを指定すると、読み込んだデータの先頭から&lt;a href="http://blogs.wankuma.com/ryoichi/category/1892.aspx" target="_blank"&gt;&lt;strike&gt;シュウたん&lt;/strike&gt;&lt;/a&gt;終端までを繰り返しの範囲とすることが出来ます。&lt;/p&gt; &lt;p&gt;次に、ループ範囲を指定するAPIを紹介します。&lt;br&gt;これを使うことで、オーディオファイルに含まれている特定の範囲を繰り返しの範囲にすることが出来ます。&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_Channel_SetLoopPoints&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_Channel_SetLoopPoints( FMOD_CHANNEL* channel, unsigned int loopstart, FMOD_TIMEUNIT loopstarttype, unsigned int loopend, FMOD_TIMEUNIT loopendtype );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;channel&lt;/td&gt; &lt;td valign="top"&gt;繰返し範囲を設定するFMOD_CHANNELのポインタです。&lt;br&gt;FMOD_System_PlaySoundで演奏を開始した際に取得したものを使用します。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;loopstart&lt;/td&gt; &lt;td valign="top"&gt;繰返し範囲の開始地点を指定します。&lt;br&gt;指定する値の単位は、&lt;font color="#0080c0"&gt;&lt;strong&gt;loopstarttype&lt;/strong&gt;&lt;/font&gt;で指定したFMOD_TIMEUNIT定数によって変更することが出来ます。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;loopstarttype&lt;/td&gt; &lt;td valign="top"&gt;&lt;font color="#0080c0"&gt;&lt;strong&gt;loopstart&lt;/strong&gt;&lt;/font&gt;値の単位を指定します。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;loopend&lt;/td&gt; &lt;td valign="top"&gt;繰返し範囲の終了地点を指定します。&lt;br&gt;指定する値の単位は、&lt;strong&gt;&lt;font color="#800000"&gt;loopendtype&lt;/font&gt;&lt;/strong&gt;で指定したFMOD_TIMEUNIT定数によって変更することが出来ます。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;loopendtype&lt;/td&gt; &lt;td valign="top"&gt;&lt;strong&gt;&lt;font color="#800000"&gt;loopend&lt;/font&gt;&lt;/strong&gt;値の単位を指定します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;channelで指定したチャンネルの繰り返し範囲を設定します。&lt;br&gt;開始地点/終了地点の設定値と単位は引数の項の通りです。&lt;br&gt;loopstarttype/loopendtypeで指定できる単位(FMOD_TIMEUNIT定数)にはさまざまな種類がありますが、一般的なものは以下の定数です。&lt;br&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;FMOD_TIMEUNIT_MS&lt;/td&gt; &lt;td valign="top"&gt;ミリ秒(1/1000秒)単位での指定です。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;FMOD_TIMEUNIT_PCM&lt;/td&gt; &lt;td valign="top"&gt;PCMでのサンプル単位です。&lt;br&gt;サンプリングレートが44.1KHzのデータであった場合、チャンネルやビットレートに関わらず1/44100秒刻みの単位になります。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;FMOD_TIMEUNIT_PCMBYTES&lt;/td&gt; &lt;td valign="top"&gt;PCMでのバイト指定です。&lt;br&gt;FMOD_TIMEUNIT_PCMBYTESとは違い、サンプリングレート/チャンネル/ビットレートに応じて計算方法が異なります。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;例として、開始地点を1000ミリ秒/終了地点を9000ミリ秒にする場合の記述をする場合は以下のようにします。  &lt;div class="sourcecode"&gt;long PlayMusicStream( void )&lt;br&gt;{&lt;br&gt;&amp;nbsp; FMOD_RESULT result;&lt;br&gt;&lt;br&gt;&amp;nbsp; // BGMの再生(頭出し状態...一時停止)&lt;br&gt;&amp;nbsp; result = FMOD_System_PlaySound( fmodsystem, FMOD_CHANNEL_FREE, fmodsound, &lt;font color="#ff0000"&gt;TRUE&lt;/font&gt;, &amp;amp;fmodchannel );&lt;br&gt;&amp;nbsp; if( result != FMOD_OK ){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;br&gt;&amp;nbsp; }&lt;br&gt;&amp;nbsp; // 繰返し範囲の設定&lt;br&gt;&amp;nbsp; FMOD_Channel_SetLoopPoints( fmodchannel, 1000, FMOD_TIMEUNIT_MS, 9000, FMOD_TIMEUNIT_MS );&lt;br&gt;&lt;br&gt;&amp;nbsp; // 演奏位置の設定 ... (*A)&lt;br&gt;&amp;nbsp; // FMOD_Channel_SetPosition( fmodchannel, 1000, FMOD_TIMEUNIT_MS );&lt;br&gt;&lt;br&gt;&amp;nbsp; // 一時停止状態解除&lt;br&gt;&amp;nbsp; FMOD_Channel_SetPaused( fmodchannel, FALSE );&lt;br&gt;&amp;nbsp; return 0;&lt;br&gt;} &lt;/div&gt; &lt;p&gt;# 見慣れないAPIがありますが後述します&lt;/p&gt; &lt;p&gt;繰返し範囲を設定する場合には、APIの呼び出しを工夫する必要があります。&lt;br&gt;FMOD_Channel_SetLoopPointsを呼び出す際にFMOD_CHANNEL*をあらかじめ取得しておく必要があります。&lt;br&gt;しかし、FMOD_CHANNEL*を取得する際にFMOD_System_PlaySoundを&lt;a href="http://blogs.wankuma.com/ma2/archive/2008/11/10/160918.aspx" target="_blank"&gt;前回&lt;/a&gt;のサンプル(fmodTest01)そのままの状態で呼び出してしまうと演奏が始まってしまいます。&lt;br&gt;そこで第四引数のpausedをFALSEからTRUEにします。&lt;br&gt;これでAPI呼び出し直後から演奏が始まる事を防ぐことが出来ます。&lt;br&gt;次に、FMOD_Channel_SetLoopPointsを呼び出します。&lt;br&gt;最後に、FMOD_Channel_SetPausedを呼び出して一時停止を解除します。&lt;br&gt;FMOD_Channel_SetPaused APIは、FMOD_System_PlaySoundの第四引数pausedの状態だけを変更するAPIです。&lt;br&gt;このAPIの解説は省略します。&lt;/p&gt; &lt;p&gt;この状態で演奏をすると、最終的に繰り返し再生になりますが、初回の演奏のみBGMが先頭から演奏されます。&lt;br&gt;これを回避する処理がコメントになっている(*A)の部分になります。&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_Channel_SetPosition&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_Channel_SetPosition( FMOD_CHANNEL* channel, unsigned int position, FMOD_TIMEUNIT postype );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;channel&lt;/td&gt; &lt;td valign="top"&gt;繰返し範囲を設定するFMOD_CHANNELのポインタです。&lt;br&gt;FMOD_System_PlaySoundで演奏を開始した際に取得したものを使用します。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;position&lt;/td&gt; &lt;td valign="top"&gt;演奏を行う地点を指定します。&lt;br&gt;指定する値の単位は、&lt;font color="#0080c0"&gt;&lt;strong&gt;postype&lt;/strong&gt;&lt;/font&gt;で指定したFMOD_TIMEUNIT定数によって変更することが出来ます。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;postype&lt;/td&gt; &lt;td valign="top"&gt;&lt;font color="#0080c0"&gt;&lt;strong&gt;position&lt;/strong&gt;&lt;/font&gt;値の単位を指定します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;channelで指定したチャンネルの演奏位置を設定します。&lt;br&gt;変更は、チャンネルが一時停止状態でない場合は即座に反映されます。&lt;br&gt;チャンネルが一停止状態であった場合は、一時停止が解除された瞬間に指定地点からの演奏が始まるようになります。&lt;br&gt;postypeで指定できる単位(FMOD_TIMEUNIT定数)はFMOD_Channel_SetLoopPoints APIの解説を参照してください。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;(*A)のコメントを解除した場合、初回の演奏から繰返し範囲の先頭から演奏が始まります。&lt;/p&gt; &lt;p&gt;以上が繰り返し再生とその設定方法になります。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/161209.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - 初期化/終了とBGM再生/停止</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/10/160918.aspx</link><pubDate>Mon, 10 Nov 2008 15:14:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/10/160918.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/160918.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/10/160918.aspx#Feedback</comments><slash:comments>90</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/160918.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/160918.aspx</trackback:ping><description>&lt;p&gt;fmod APIを使用したプログラムについて解説します。&lt;br&gt;今回から具体的なAPIを使用したプログラミングに入ります。&lt;/p&gt; &lt;p&gt;Win32のプロジェクトなので要点以外のコードがとても多かったり、先にソースを読んでおいて解説と並行したいという方もいると思います。&lt;br&gt;ということで出来上がったものをこちらにあらかじめ用意しました。&lt;/p&gt; &lt;p&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-c1ebc32fdf3ee435.skydrive.live.com/embedrowdetail.aspx/examples/fmodTest01.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br&gt;# 料理講座っぽく言ってみたかっただけです&lt;/p&gt; &lt;p&gt;このプロジェクトでは、次の処理を行っています。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;fmodシステムの初期化(InitMusicStream関数)  &lt;li&gt;BGMとして使用するオーディオファイルの読み込み(PlayMusicStream関数)  &lt;li&gt;fmodシステムの終了処理(ReleaseMusicStream関数)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;これらの処理は、それぞれ関数化してWinMain.cppで呼び出すようにしています。&lt;br&gt;カッコ内の関数名はfmodTest.cpp内で定義されています。&lt;/p&gt; &lt;p&gt;fmodTest.cpp内の解説に移ります。&lt;br&gt;このソースファイルには、3個のグローバル変数があります。&lt;br&gt;&lt;/p&gt; &lt;div class="sourcecode"&gt;FMOD_SYSTEM*&amp;nbsp;&amp;nbsp;&amp;nbsp; fmodsystem = NULL;&lt;br&gt;FMOD_SOUND*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fmodsound = NULL;&lt;br&gt;FMOD_CHANNEL*&amp;nbsp;&amp;nbsp; fmodchannel = NULL;&lt;/div&gt; &lt;p&gt;このFMOD_SYSTEM、FMOD_SOUND、FMOD_CHANNELはそれぞれオーディオシステム全体、再生する楽曲/効果音データ、データ再生時チャンネルのハンドルです。&lt;br&gt;ヘッダファイル(fmod.h)内では、それぞれ構造体として定義されていますが、メンバまでは記述されていません。&lt;br&gt;現時点ではこれらの情報を追求する必要はないので｢こういうもの｣という程度にとどめておいてください。&lt;/p&gt; &lt;p&gt;次にInitMusicStream関数内で呼び出しているAPIの解説です。&lt;/p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_System_Create&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_System_Create( FMOD_SYSTEM* system );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;処理が成功した場合、生成されたFMODシステムのアドレスが返されます。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SYSTEMオブジェクトを生成します。&lt;br&gt;FMOD_SYSTEMオブジェクトは、生成しただけでは使用できないので返されたsystemをFMOD_System_Initに渡し、初期設定を行う必要があります。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_System_Init&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_System_Init( FMOD_SYSTEM* system, int maxchannels, FMOD_INITFLAGS flags, void* extradriverdata );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;FMOD_System_Createで生成したものを使います。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;maxchannels&lt;/td&gt; &lt;td valign="top"&gt;FMODで使用されるチャンネルの最大数です。&lt;br&gt;通常は100もあれば困ることはありません。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;flags&lt;/td&gt; &lt;td valign="top"&gt;拡張機能を合わせて初期化するためのフラグです。&lt;br&gt;特に必要がなければFMOD_INIT_NORMALだけを指定します。&lt;br&gt;FMOD_INIT_NORMAL以外のFMOD_INITFLAGS定数については、ヘッダファイルもしくはリファレンスマニュアルを参照してください。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;extradriverdata&lt;/td&gt; &lt;td valign="top"&gt;サウンドデバイスのドライバに渡すデータがある場合に使用する引数です。&lt;br&gt;渡すデータがない場合は、NULLを渡します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;systemで指定したFMOD_SYSTEMオブジェクトの初期設定を行います。&lt;br&gt;設定できる内容はmaxchannelsとflagsの解説を参照してください。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;FMOD_System_CreateStream&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;FMOD_RESULT FMOD_System_CreateStream( FMOD_SYSTEM* system, const char* name_or_data, FMOD_MODE mode, FMOD_CREATESOUNDEXINFO* exinfo, FMOD_SOUND** sound );&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;FMOD_System_Createで生成したものを使います。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt; &lt;p&gt;name_or_data&lt;/p&gt;&lt;/td&gt; &lt;td valign="top"&gt;再生するオーディオデータのパスもしくはURLです。&lt;br&gt;音楽CDを再生する場合はドライブレターを指定します(例、Eドライブの場合は"E:")。&lt;br&gt;ファイルパスはマルチバイト文字列で指定します。UNICODEビルドをした場合でもワイド文字列は使用できません。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;mode&lt;/td&gt; &lt;td valign="top"&gt;ファイルを開く際に指定する条件のフラグです。&lt;br&gt;特に必要がなければFMOD_DEFAULTだけを指定します。FMOD_DEFAULT以外のFMOD_MODE定数については、ヘッダファイルもしくはリファレンスマニュアルを参照してください。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt; &lt;p&gt;exinfo&lt;/p&gt;&lt;/td&gt; &lt;td valign="top"&gt;開いたファイルに関する情報(FMOD_CREATESOUNDEXINFO構造体)です。&lt;br&gt;取得できる情報については、ヘッダファイルもしくはリファレンスマニュアルを参照してください。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;sound&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SOUNDのポインタをアドレスで渡します(形式上ダブルポインタになる)。&lt;br&gt;ここで返される値は、FMOD_Sound_* APIを呼び出す際に必要になります。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;name_of_dateで指定したパスやファイルを開きます。&lt;br&gt;オンライン上のURLや音楽CDのドライブを指定することもできます。&lt;br&gt;このAPIでは指定したパスをストリーム再生(再生をする際に必要なデータを逐次読み込んでいく)する形式で読み込みます。&lt;br&gt;パスやファイルを開くことができた場合、soundにそのデータのアドレスが返されます。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;リファレンスがたくさん出てきましたが、初期化処理で指定する値は特殊環境でなければデフォルト推奨値でよいと思います。&lt;br&gt;FMOD_System_CreateとFMOD_System_InitがFMODシステムの生成と初期化処理で、次にFMOD_System_CreateStreamでBGMに使用するファイルを開きます。&lt;br&gt;ここまでが初期化処理(とファイルオープン処理)になります。&lt;/p&gt; &lt;p&gt;次にPlayMusicStream関数内で呼び出されているAPIの説明です。&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_System_PlaySound&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_System_PlaySound( FMOD_SYSTEM* system, FMOD_CHANNELINDEX channelid, FMOD_SOUND* sound, FMOD_BOOL paused, FMOD_CHANNEL** channel );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;FMOD_System_Createで生成したものを使います。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;channelid&lt;/td&gt; &lt;td valign="top"&gt;再生の際に使用するチャンネルを指定します。&lt;br&gt;FMOD_CHANNEL_FREE(-1)を指定すると空いているチャンネルに自動割り当てされます。&lt;br&gt;特定のチャンネルを指定する場合は、ゼロ以上の値を指定します。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;sound&lt;/td&gt; &lt;td valign="top"&gt;再生するデータのFMOD_SOUNDのポインタ。&lt;br&gt;FMOD_System_CreateStreamで作成したものを使います。&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;paused&lt;/td&gt; &lt;td valign="top"&gt;API呼び出し直後に再生を進めるかを指定します。&lt;br&gt;TRUEを指定した場合、一時停止状態になります。&lt;br&gt;一時停止の解除は、FMOD_Channel_SetPaused APIを使用します。&lt;br&gt;(このエントリでは解説しません)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;channel&lt;/td&gt; &lt;td valign="top"&gt;再生を行うチャンネル(FMOD_CHANNEL)のポインタです。&lt;br&gt;再生中のBGMや効果音に対する操作/設定をするAPIで必要になります。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;soundに指定したFMOD_SOUNDを再生します。&lt;br&gt;呼び出しが成功した場合、channelに再生チャンネルのハンドルが返され、再生が始まります(ただし、pausedによる一時停止設定など例外もあります)。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;PlayMusicStream関数が呼び出され、FMOD_System_PlaySound APIが呼び出されれば、演奏が始まります。&lt;/p&gt; &lt;p&gt;最後に、プログラム終了時に行うFMODシステムの終了処理のAPIを解説します。&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_Channel_Stop&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_Channel_Stop( FMOD_CHANNEL* channel );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;channel&lt;/td&gt; &lt;td valign="top"&gt;データ再生をしているチャンネルのハンドルです。&lt;br&gt;FMOD_System_PlaySound等の呼び出しで取得したものを指定します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;channelで指定したチャンネルの演奏を停止します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_Sound_Release&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_Sound_Release( FMOD_SOUND* sound );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;sound&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;再生のためにオープン(ストリーム)もしくは読み込んでいるデータのハンドルです。&lt;br&gt;FMOD_System_CreateStream等で取得したものを使用します。&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;soundで指定したデータを開放します。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_System_Close&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_System_Close( FMOD_SYSTEM* system );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;FMOD_System_Createで生成したものを使います。&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;systemで指定したFMODシステムを使用できないようにします。&lt;br&gt;このAPIを呼び出す前にFMODシステムに関連するリソースは開放するようにしてください。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="0" cellpadding="0" width="100%" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;API名&lt;/td&gt; &lt;td valign="top"&gt;FMOD_System_Release&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;構文&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT FMOD_System_Release( FMOD_SYSTEM* system );&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;引数&lt;/td&gt; &lt;td valign="top"&gt; &lt;table cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="30%" bgcolor="#80ffc0"&gt;system&lt;/td&gt; &lt;td valign="top"&gt; &lt;p&gt;FMOD_SYSTEMのポインタです。&lt;br&gt;FMOD_System_Createで生成したものを使います。&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;返り値&lt;/td&gt; &lt;td valign="top"&gt;FMOD_RESULT(FMOD_OKであれば成功、それ以外は各種エラーコード)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="10%" bgcolor="#80c0ff"&gt;解説&lt;/td&gt; &lt;td valign="top"&gt;systemで指定したFMODシステムを開放します。&lt;br&gt;このAPIでシステムを開放する場合、事前にFMOD_System_Closeを呼ぶ必要はありません。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;リファレンスによれば、FMOD_System_ReleaseすればFMOD_System_Closeは省いてよいようですが、念のためサンプルではClose→Releaseと呼び出しています。&lt;/p&gt; &lt;p&gt;以上が、fmod APIの初期化/終了の処理と最低限のBGM再生を行うための解説です。&lt;br&gt;ここまでの処理ができれば、後は素材を揃えてAPIで遊ぶことができます。&lt;/p&gt; &lt;p&gt;最後に、サンプルを動かすための注意をいくつか。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;fmodex.dllをコピーしてください。&lt;br&gt;このサンプルはfmodex.dllが読み込めないと動作しません。&lt;br&gt;SDKをインストールしたフォルダの｢./api｣フォルダにfmodex.dllというファイルがあります。&lt;br&gt;これをサンプルのプロジェクトファイルがあるフォルダにコピーしてください。&lt;br&gt;また、VisualStudio上から実行した場合と、ビルドしてできたexeファイルを直接呼び出す場合では、dllの配置場所を変えないといけません。&lt;br&gt;VisualStudioから実行する場合は、プロジェクトファイルがあるフォルダに置いてください。&lt;br&gt;exeファイルを直接実行する場合は、exeファイルと同じ場所に置いてください。  &lt;li&gt;music.oggを用意してください。&lt;br&gt;このサンプルでは、music.oggというファイルを読み込んで再生しています。&lt;br&gt;オーディオファイルは、mp3やwavでもよいのですが、サンプルで指定しているものと名前が一致するようにしてください。&lt;br&gt;fmodのSDKには、サンプルとしていくつかのoggファイルがインストールの時点で作成されます。&lt;br&gt;インストールフォルダ配下の｢.\fmoddesignerapi\examples\media\music｣からファイルをコピーして名前を変更して使うこともできます。&lt;br&gt;music.oggはサンプルに同梱していません。&lt;br&gt;# excited.oggやrelaxed.oggは演奏時間が長いです&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;以上が、fmod APIを使った簡単なサンプルになります。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/160918.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - プロジェクト設定</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/10/160849.aspx</link><pubDate>Mon, 10 Nov 2008 01:11:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/10/160849.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/160849.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/10/160849.aspx#Feedback</comments><slash:comments>309</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/160849.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/160849.aspx</trackback:ping><description>&lt;p&gt;fmod APIを使用したプログラムについて解説します。&lt;br&gt;今回はAPIの形式とそれにあわせて生じるプロジェクトの設定について解説します。&lt;/p&gt; &lt;p&gt;プログラム言語は、C言語を使います。&lt;br&gt;開発環境は、VisualStudio2005(SP1)です。&lt;/p&gt; &lt;p&gt;fmodはC言語ではハンドルを使ったAPI、C++ではシステムやサウンドなど機能ごとのクラスが提供されます。&lt;br&gt;ヘッダファイルもfmod.hとfmod.hppとそれぞれ別のものが用意されています。&lt;br&gt;fmod.hはC++でも使用できます。&lt;/p&gt; &lt;p&gt;はじめは、fmodの初期化/終了とオーディオファイルの再生と停止をするデモです。&lt;br&gt;最初ということで、プロジェクト設定もあわせて行います。&lt;/p&gt; &lt;p&gt;まず、プロジェクトを作成します。&lt;br&gt;メニューの[ファイル]→[新規作成]→[プロジェクト]を選択し、[Win32プロジェクト](プロジェクトの種類を[Visual C++]→[Win32]の順)を選びます。&lt;br&gt;プロジェクト名と場所は特に制限は無いので自由に決めてください。&lt;br&gt;解説の都合上、プロジェクト名は｢fmodTest｣とします。&lt;br&gt;プロジェクト作成のウィザードでは｢空のプロジェクト｣をチェックしてください。&lt;br&gt;このエントリでは過去に公開した&lt;a href="http://blogs.wankuma.com/ma2/archive/2008/06/30/146274.aspx"&gt;ゲーム雛形&lt;/a&gt;のソースファイルをベースにします。&lt;br&gt;プロジェクトを作成したフォルダにソースファイルをコピーしてプロジェクトに追加します。&lt;/p&gt; &lt;p&gt;ここからプロジェクトの設定です。&lt;br&gt;SDKのインストールでインストールパスのデフォルトは｢C:\Program Files\FMOD SoundSystem\FMOD Programmers API Win32｣であると書きました。&lt;br&gt;このパスが必要になります。&lt;/p&gt; &lt;p&gt;fmod APIをC/C++から呼び出す場合ヘッダファイルとライブラリファイルをそれぞれインクルード/リンクする必要があり、そのためにパスを追加しなければいけません。&lt;br&gt;追加が必要なパスは以下のとおりです。&lt;/p&gt; &lt;table cellspacing="0" cellpadding="2" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" align="middle" width="25%" bgcolor="#80c0ff"&gt;種類&lt;/td&gt; &lt;td valign="top" align="middle" bgcolor="#80c0ff"&gt;場所&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;ヘッダファイル&lt;/td&gt; &lt;td valign="top"&gt;C:\Program Files\FMOD SoundSystem\FMOD Programmers API Win32&lt;strong&gt;&lt;font color="#ff0000"&gt;\api\inc&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;ライブラリファイル&lt;/td&gt; &lt;td valign="top"&gt;C:\Program Files\FMOD SoundSystem\FMOD Programmers API Win32&lt;strong&gt;&lt;font color="#ff0000"&gt;\api\lib&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;要するにインストールパスの配下なのですが、これを設定しなければいけません。&lt;/p&gt; &lt;p&gt;インクルードパスの設定は、プロジェクトのプロパティから[C/C++]のタブを選びます。&lt;/p&gt; &lt;p&gt;&lt;a href="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0201.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="422" alt="fmod_0201" src="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0201_thumb.png" width="640" border="0"&gt;&lt;/a&gt;&lt;br&gt;# この項目は、ソースファイルを追加した後でないと 表示されません。&lt;/p&gt; &lt;p&gt;ライブラリのパスは、同プロパティから[リンク]のタブを選びます。&lt;/p&gt; &lt;p&gt;&lt;a href="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0202.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="422" alt="fmod_0202" src="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0202_thumb.png" width="640" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;最後にリンクするライブラリファイルを設定します。&lt;/p&gt; &lt;p&gt;&lt;a href="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0203.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="422" alt="fmod_0203" src="http://ma2.wankuma.com/fmodAPIBGM1_2233/fmod_0203_thumb.png" width="640" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;[追加の依存ファイル]だけは、ファイルを指定します。&lt;br&gt;fmod SDKのlibファイルを見るとたくさんファイルがありますが、ここでは｢fmodex_vc.lib｣を設定します。&lt;/p&gt; &lt;p&gt;これらの設定は、&lt;strong&gt;&lt;font color="#ff0000"&gt;デバッグビルド/リリースビルド共通です&lt;/font&gt;&lt;/strong&gt;。&lt;br&gt;[構成]コンボボックスで｢すべての構成｣を選ぶことで、一括設定ができます。&lt;/p&gt; &lt;p&gt;プロジェクト設定は以上です。サンプルコードの追加に続きます。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/160849.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - SDKのインストール</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/09/160825.aspx</link><pubDate>Sun, 09 Nov 2008 15:24:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/09/160825.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/160825.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/09/160825.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/160825.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/160825.aspx</trackback:ping><description>&lt;p&gt;fmodのSDKインストールについて解説します。&lt;/p&gt; &lt;p&gt;fmod SDKはfmodのサイト上では、｢fmod EX Programming API｣と呼ばれています。&lt;br&gt;fmodのサイトから&lt;a href="http://www.fmod.org/index.php/download" target="_blank"&gt;ダウンロードのページ&lt;/a&gt;に行きます。&lt;br&gt;ロゴのすぐ下に"Links"という項目があります。&lt;br&gt;そこから｢FMOD Ex Progrramers API｣という項目を選びます。&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="185" alt="fmod_0101" src="http://ma2.wankuma.com/fmodAPIfmodSDK_104C/fmod_0101.png" width="520" border="0"&gt; &lt;/p&gt; &lt;p&gt;(これを書いている2008/11/09現在ではすぐ真下ですが)プラットフォームごとのファイルのリンクに移ります。&lt;br&gt;自分の環境はWindowsVistaの32ビット環境なので｢Windows 32bit｣がプラットフォームになります。&lt;br&gt;さらにSDKにはstable(安定版)とdevelopment(開発者向け)の2種類がありますが、stableをダウンロードします。&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="300" alt="fmod_0102" src="http://ma2.wankuma.com/fmodAPIfmodSDK_104C/fmod_0102.png" width="520" border="0"&gt;&lt;/p&gt; &lt;p&gt;ダウンロードしたSDKのバージョンは4.20.01です。&lt;br&gt;ファイル名は｢fmodapi42001win32-installer.exe｣になります。&lt;br&gt;これを起動してインストールします。&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="398" alt="fmod_0103" src="http://ma2.wankuma.com/fmodAPIfmodSDK_104C/fmod_0103.png" width="513" border="0"&gt;&lt;/p&gt; &lt;p&gt;いわゆるインストール画面なのですが、進めるにあたっての要点をまとめました。&lt;br&gt;# とりあえず全部撮ったんですが多かったので&lt;/p&gt; &lt;ul&gt; &lt;li&gt;インストール先は、｢C:\Program Files\FMOD SoundSystem\FMOD Programmers API Win32｣がデフォルトです。&lt;br&gt;これは変更できます。  &lt;li&gt;インストールの最後にコマンドプロンプトが開いて処理を始めます。&lt;br&gt;これは、同梱されているサンプルを動かすための準備です。&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;以上でインストールは完了です。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/160825.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ma2</dc:creator><title>fmod APIを使ったサウンドプログラム - fmodの紹介</title><link>http://blogs.wankuma.com/ma2/archive/2008/11/09/160794.aspx</link><pubDate>Sun, 09 Nov 2008 05:28:00 GMT</pubDate><guid>http://blogs.wankuma.com/ma2/archive/2008/11/09/160794.aspx</guid><wfw:comment>http://blogs.wankuma.com/ma2/comments/160794.aspx</wfw:comment><comments>http://blogs.wankuma.com/ma2/archive/2008/11/09/160794.aspx#Feedback</comments><slash:comments>173</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ma2/comments/commentRss/160794.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ma2/services/trackbacks/160794.aspx</trackback:ping><description>&lt;P&gt;どうも、ma2(まっつ)です。&lt;BR&gt;ちょっと思うところがあって連載もどきなことをやってみようかと思います。&lt;/P&gt;
&lt;P&gt;｢&lt;A href="http://www.fmod.org/" target=_blank&gt;fmod music &amp;amp; sound effect system&lt;/A&gt;｣というものがあります。&lt;BR&gt;これはオーストラリアの｢Firelight Technologies｣という会社が提供する、音楽再生をするためのライブラリとツールキットです。&lt;BR&gt;対応するプラットフォームは、Windows(32/64bit),WindowsCE(WindowsMobile),Macintosh(PPC or Intel),Linux(32/64bit),Solarisとコンシューマゲーム機となっています。&lt;BR&gt;SDKやランタイムをダウンロードできるのは上述の｢コンシューマゲーム機｣以外のもの(以降PC版)になります。&lt;BR&gt;PC版のSDKの利用は非商用に限り無償で利用できます(ただし使用していることをreadme等で明示しないといけない)。&lt;BR&gt;商用利用をする場合はライセンス契約が必要になり、条件にに応じて使用料を支払う必要があります。&lt;BR&gt;コンシューマゲーム機での利用はゲーム機のプラットフォームホルダーと開発契約をしているメーカにのみ提供されます。&lt;/P&gt;
&lt;P&gt;対応するオーディオ形式は、wave/midi/mp3/ogg/XMA(*1)/mod各種です。&lt;BR&gt;ただし、fmodシステムそのものに16チャンネルという制限があるので、多くのチャンネルを使っているmidiとmodは気をつけたほうがいいかもしれません。&lt;BR&gt;# *1 ... Xbox360開発環境XNAのツールXACTに対応した形式&lt;/P&gt;
&lt;P&gt;使用できる言語は、C/C++とC#とVB6。C#で使えるのはインパクトがあると思います。&lt;/P&gt;
&lt;P&gt;堅苦しいことを丸写ししましたが、要するにちょっと使う分には自由に使えるのでこれを使ってBGMを流したり効果音を出したりするプログラムを作ってみるのが目的です。&lt;/P&gt;
&lt;P&gt;ちなみにこのfmod APIは、以前公開した&lt;A href="http://blogs.wankuma.com/ma2/archive/2008/09/08/155882.aspx" &gt;メガデモもどき&lt;/A&gt;でも使いました。&lt;BR&gt;# 音楽再生まで手が回らなかったのでorz&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ma2/aggbug/160794.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>