たそがれブランチたそがれブランチcocos2d-xを使ったアプリ開発などやってます。@br_branchTweetPocket掲題の通りです。Audioを導入することにしてみたので、導入までの備忘としてメモしておきます。この記事は以下のサイトを参考にしてます。詳しく解説してくれてますし、この記事はそれをただぼくの環境用に(本当に備忘として)書き換えてるだけなので、こちらを参考にする方がいいかもです。使ってみるとりあえずぼくの環境とか環境によってビルド方法とか変わるとも思うんで、先に載せておきます。v3のプロジェクトが既に作成済また、フォルダ構成は以下のようにします。Audioを解凍したフォルダCriketのアカウント作成&ダウンロード以下からダウンロードできます。http://www.crickettechnology.com/free_license使用する際の規約が載ってますが、ざっくり言うと(きっと)以下のことが書かれてます。(もし追加のライセンスオプションがほしいなら...問い合わせしてよね!)アプリリリースする時はここに載せたいからちゃんと報告してよね!もっもしクレジット出したくないならちゃんとお金払ってよね!この2番目、3番目の理由でcocos2d-xには入ってないんでしょうね。ダウンロードページは一番下のリンクにあります。アカウント登録も必要なので、登録してダウンロードします。ZIPファイルを解凍ダウンロードしたZIPファイルを解凍すると、以下のようなフォルダ構成になってます。binフォルダーーcktoolという専用オーディオファイルを作成するツールを格納buildフォルダーーなんだろね(きっとbuildするフォルダだろうね)docフォルダーードキュメントが入ってますincフォルダーーSDKのヘッダファイルが入ってますlibフォルダーー実際に使用するプログラムが入ってますsrcフォルダーーサンプルプログラムが入ってます主に使うのは「bin」「inc」「lib」フォルダです。上記に書いたように配置し、binフォルダにはパスを通しておきます。Libraries」から追加します。追加するものは以下の通りです。Pathsに、解凍したファイルの「inc」フォルダまでのパスを追加します。内に、以下のパスを追加します。Flags内に以下を追加します。「-lck」とりあえずこの時点でビルドしてみて、特にエラーにならなければ(たぶん)大丈夫です。Studio)こういう類の設定でいつもめんどっちいのがAndroid側ですね。今回もその例に漏れずにめんどくさいのですが、サンプルもあるのでそれを見ながらだとたぶんできると思います。以下のようなファイルを作成します。CkInit(&amp;amp;config);}Java側との連携proj.android-studio/app/src/org/cocos2dx/cpp/AppActivity.java内に以下のように記述します。続いて、android-studio側のAndroid.mkも同様に修正します。_COCOS_LIB_IMPORT_ANDROID_ENDハイライト部分がCriketとの連携用の記述です。「../」が多いですが、それは上に書いたようなフォルダ構成にしてるからです。言ってわかりづらいのでこんなフォルダ構成にはしないほうがよさげですね。バージョン管理もしづらそうだし。あとは、ビルドしてみてエラーにならなければたぶんうまくいってます。cktoolでcriket用の音楽ファイルを作成してみる。環境ができたら次はリソースを作ってみます。基本的にはwavファイルしか対応してないみたいですので、以下のソフトを使ってmp3などは先にwavファイルに変換します。複数の音楽ファイルを一つにして使うみたいです。音楽ファイルと同様の部分に、XMLファイル(拡張子:ckbx)を作成します。source="ファイル名.wav"/></bank>あとは、ビルドします。soundeffects.ckbxすると、soundeffects.ckbというファイルが出来上がります。これが利用するリソースになります。BGM用ファイルの作成こちらはひとつずつやるみたいです。こちらもwabに変換してから行います。bgm1.cksただ、BGM(ストリーム再生)用のは、そのままmp3などの状態でも使用できるみたいです。使ってみるさて、ここまできたら後は使うだけですね。初期化とかAppDelegate等に以下のように入れます。これを呼び出さないと再生とかされません。実際はここではなくアプリ終了するメソッドなどを作成してやる方がいいと思ふ。CkShutdown();}実際に使うこんな感じに使います。CkSound::newStreamSound("bgm.cks");bgm->play();bgm->setLoopCount(-1);なお、使い終わったらそれぞれ自分で解放する必要があります。解放するbgm->destroy();sound->destroy();bank->destroy();このようにメモリ管理も自分でしないといけないので、AudioManagerクラスみたいにそれぞれのインスタンスを管理するクラスを作成したほうがいいですね。コメントをキャンセルメールアドレスが公開されることはありません。