2011-07-30 7 views
0

私はオーディオ分析についてthis postを見ました。しかし、私はC/C++を扱うのが嫌いです。リンゴのサンプルコードを見ると、それらの中で解析を使用するクラスの拡張子はすべて.mmであり、構文には慣れていません。iPhone:オーディオ分析in objective-c

C/C++で基本的な解析コードを書く(つまり生のdB値を取得する)のはどういうわけか、目的関数-cで呼び出しを行うためのラッパー(または何らかの中間クラス)を作成してその値を取得しますか?

これは可能な場合には非常に便利です。

私は基本的にやりたいすべてはちょうどデシベルで現在のボリュームと(たとえば10回秒)更新されたUILabelを持っている - 私はそこから自分自身をそれを拡張できることを持ったら。

答えて

0

確かに可能です。

Objective Cラッパーの外観(つまり、C++部分からどのような機能を「エクスポート」するか)を決定し、C++層でオブジェクトをインスタンス化してメソッドを実装することで実装する必要があります。

すなわち、arioTouch試料中の、唯一.mmクラスは、アプリケーションデリゲートです。残りはcとC++ファイル(.cと.cpp)です。ある意味では、.mmファイルはラッパーを構築するための出発点になります。拡張子が.mmであるということは、単にC++コードを使用していることを意味します。

私はあなたのアプリケーションのデリゲートからアプリケーションデリゲートプロトコルでとOpenGL表現に関係しているものをすべて削除した場合、あなたは自動的にあなたのラッパーを取得すると思います。

さらにfftの部分をapplicationDidFinishLaunchingに指定して、ラッパーのメインエントリポイントとなるメソッドに配置する必要があります。

+0

私はSpeakHere例について話して申し訳ありません...それは私が:) –

+0

私の更新質問を参照してください見ていたコードです –