2011-07-30 62 views
0

我看到this post關於音頻分析。然而,真正有用的是,我討厭處理C/C++,並且看着蘋果示例代碼,在其中使用分析的類的所有擴展名都是.mm,以及我不習慣的語法。iPhone:Objective-C音頻分析

有沒有辦法在C/C++中編寫基本分析代碼(即獲取原始dB值),然後創建一個包裝器(或某些中間類)在objective-c中調用以獲取該值?

如果可能的話,這將非常有用。

所有我基本上想要做的就是有一個UILabel它獲取更新(比如10次),用分貝當前的音量 - 一旦我有,我可以從那裏我自己展開。

回答

0

這是可能的,當然。

您首先需要決定Objective C包裝器的外觀(即從C++部分「導出」哪些功能)以及通過實例化對象並在C++層調用方法來實現它。

具體而言,在arioTouch示例中,唯一的.mm類是應用程序委託。其餘的是C和C++文件(.c和.cpp)。在某種意義上,.mm文件可能是構建包裝器的起點。 .mm擴展名的事實僅僅意味着它使用C++代碼。

我認爲,如果你從應用程序的委託刪除所有必須做與應用程序委託協議,並使用OpenGL的表現,你會自動地得到您的包裝。

除此之外,您應該確定applicationDidFinishLaunching中的fft部分,並將其放在一個方法中,該方法將成爲包裝的主入口點。

+0

對不起,我正在談論SpeakHere的例子...這是我在看的代碼:) –

+0

看到我更新的問題 –