2010-10-07 42 views
0

我有一個用C#編寫的mp3播放應用程序,我希望移植到OSX。我可以使用monomac的OSX AUGraph嗎?

因爲它使用DirectShow播放MP3,我意識到我需要重新編碼音頻播放部分。我發現Apple使用AUGraph的playfile示例。

http://www.mono-project.com/MonoMac的Binding Cocoa部分提到了「更簡單的AudioToolBox API」。

任何人都可以在示例代碼中指出我使用C#中的AudioToolBox,或者最好使用C#中的AUGraph。

是移植我的代碼MONOMAC最好的辦法還是將我得到更好的冒險嘗試,並在重新編碼目的C.

回答

-1

AUGraph是核心音頻的一部分。它用於組裝一個音頻單位圖並可用於音頻播放。核心音頻是一個低級別的框架,有一個C API。
也許你可以從Mono中使用QTKit(QuickTime的可可包裝)。

在我看來,它始終是使用平臺「原生」技術的最佳方法。 (這將是Mac OS X的Objective-C和Cocoa)。 蘋果公司有一個很好的示例,演示如何創建使用QTKit媒體播放器: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40008155-CH1-SW1

+0

MonoMac *是*可可。這與使用例如MacRuby的。 – 2010-10-27 01:20:14

0

你鏈接的頁面不說,AudioToolbox(即CoreAudio的)是完全綁定。我不知道任何樣本,但它不應該很難移植C代碼。

或者,您可以進入mono-osx郵件列表並請求綁定QTKit,甚至可以自己綁定。我聽說MonoMac綁定生成器可以很容易地綁定Objective-C API。

即使您必須自己做一些綁定,它也會更快更容易地使用您現有的C#代碼和知識。

1

這些都是使用AudioUnit使用的MonoMac具有相同的API,除了一些樣品,這些樣品指定使用的MonoTouch的iPhone:

https://github.com/migueldeicaza/MonoTouch.AudioUnit

設置AudioUnit起來有點麻煩,如果你想要的是在不進行任何低級處理或應用效果的情況下播放MP3文件,您可以使用MonoMac.AppKit.NSSound API。

相關問題