我有一个用C#编写的mp3播放应用程序,我想把它移植到OSX上。
当它使用DirectShow播放mp3时,我意识到我需要重新编码音频播放部分。我找到了苹果的使用AUGraph的播放文件样本。
http://www.mono-project.com/MonoMac的Binding Cocoa部分提到了“简单得多的AudioToolBox应用程序接口”。
谁能告诉我使用C#中的AudioToolBox的示例代码,或者最好是使用C#中的AUGraph。
将我的代码移植到monomac是最好的方法,还是我会更好地冒险在Objective C中重新编码?
发布于 2010-11-07 10:13:19
以下是使用与MonoMac相同的接口使用AudioUnit的一些示例,不同之处在于这些示例使用MonoTouch针对iPhone:
https://github.com/migueldeicaza/MonoTouch.AudioUnit
设置AudioUnit有点麻烦,如果你只想播放MP3文件而不做任何低级处理或应用效果,你可以使用MonoMac.AppKit.NSSound应用编程接口。
发布于 2010-10-27 09:20:46
您链接的页面显示AudioToolbox (即CoreAudio)是完全绑定的。我不知道有什么示例,但是移植C代码应该不难。
或者,您可以转到mono-osx邮件列表并请求绑定QTKit,甚至可以自己进行绑定。我听说MonoMac绑定生成器使得绑定Objective-C API变得非常容易。
使用您现有的C#代码和知识将会更快、更容易,即使您确实需要自己进行一些绑定。
发布于 2010-10-07 17:10:34
AUGraph是核心音频的一部分。它用于组合音频单元的图形,并可用于音频播放。Core Audio是一个具有C API的低级框架。
也许你可以使用Mono的QTKit (围绕QuickTime的可可包装器)。
在我看来,这始终是使用平台“原生”技术的最佳方法。(对于Mac,应该是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
https://stackoverflow.com/questions/3880148
复制相似问题