0

我有一个用 C# 编写的 mp3 播放应用程序,我想将它移植到 OSX。

由于它使用 DirectShow 播放 mp3,我意识到我需要重新编码音频播放部分。我找到了使用 AUGraph 的 Apple 播放文件示例。

http://www.mono-project.com/MonoMac的 Binding Cocoa 部分提到了“更简单的 AudioToolBox API”。

谁能指出我使用 C# 中的 AudioToolBox 或最好使用 C# 中的 AUGraph 的示例代码。

将我的代码移植到 monomac 是最好的方法,还是我会更好地尝试在 Objective C 中重新编码。

4

3 回答 3

1

这些是使用与 MonoMac 相同的 API 使用 AudioUnit 的一些示例,除了这些示例使用 MonoTouch 以 iPhone 为目标:

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

设置 AudioUnit 有点麻烦,如果你只想播放 MP3 文件而不做任何低级处理或应用效果,你可以使用 MonoMac.AppKit.NSSound API。

于 2010-11-07T02:13:18.697 回答
0

您链接的页面确实说AudioToolbox(即CoreAudio)已完全绑定。我不知道任何示例,但移植 C 代码应该不难。

或者,您可以进入 mono-osx 邮件列表并请求绑定 QTKit,或者甚至自己进行此绑定。我听说 MonoMac 绑定生成器可以很容易地绑定 Objective-C API。

即使您必须自己进行一些绑定,使用现有的 C# 代码和知识也会更快、更容易。

于 2010-10-27T01:20:46.220 回答
-1

AUGraph 是 Core Audio 的一部分。它用于组装音频单元的图形,可用于音频播放。Core Audio 是一个具有 C API 的低级框架。
也许您可以使用 Mono 的 QTKit(QuickTime 的可可包装器)。

在我看来,使用平台“原生”技术始终是最好的方法。(对于 Mac OS X 来说是 Objective-C 和 Cocoa)。Apple 有一个很好的示例,展示了如何使用 QTKit 创建媒体播放器:http: //developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/Introduction/Introduction.html%23//apple_ref/ doc/uid/TP40008155-CH1-SW1

于 2010-10-07T09:10:34.317 回答