MonoMac / Xamarin.Mac:AudioSession.Initialize()的EntryPointNotFoundException

时间:2013-04-03 22:07:20

标签: c# macos mono xamarin monomac

我是C#,MonoMac和Xamarin的新手,我正在尝试使用this awesome example使用C#和Xamarin.Mac播放一些生成的音频。

不幸的是第一行:

AudioSession.Initialize();

抛出 EntryPointNotFoundException

我偶然发现this forum post有人遇到类似问题,并暗示这与错误的绑定有关。

我真的可以让它发挥作用吗?如果没有,我可以使用什么呢?

非常感谢你的帮助。

我的系统

  

Xamarin.Mac:1.2.43

     

Xamarin.Studio版本4.0.3(版本13)

     

Mono 2.10.12(mono-2-10 / c9b270d)

     

GTK 2.24.16

     

GTK#(2.12.0.0)

     

包装版本:210120000

堆栈跟踪

System.EntryPointNotFoundException: AudioSessionInitialize
  at at (wrapper managed-to-native) MonoMac.AudioToolbox.AudioSession.AudioSessionInitialize (intptr,intptr,MonoMac.AudioToolbox.AudioSession/InterruptionListener,intptr) <IL 0x00011, 0x0007b>
  at MonoMac.AudioToolbox.AudioSession.Initialize (MonoMac.CoreFoundation.CFRunLoop,string) [0x00013] in /Users/builder/data/lanes/xamcore-lion-bs1/0c83ca0e/source/xamcore/maccore/src/AudioToolbox/AudioSession.cs:225

1 个答案:

答案 0 :(得分:2)

我认为OS X上没有使用AudioSession。

您正在使用的示例代码可能适用于iOS。

如果您检查音频会话的documentation,您会看到:

These functions apply only to iOS. They do not apply to Mac OS X.

此外,请参阅此discussion。 AudioSession根本不可用,这就是为什么在尝试调用它时会出现EntryPointNotFoundException ...