2

我对 C#、MonoMac 和 Xamarin 非常陌生,我正在尝试使用这个很棒的示例使用 C# 和 Xamarin.Mac 播放一些生成的音频。

不幸的是第一行:

AudioSession.Initialize();

抛出一个EntryPointNotFoundException

我偶然发现了这个论坛帖子,其中有人遇到了类似的问题,并暗示它与不正确的绑定有关。

我真的可以让它工作吗?如果没有,我可以用什么代替?

非常感谢你的帮助。

我的系统

Xamarin.Mac:1.2.43

Xamarin.Studio 版本 4.0.3(内部版本 13)

单声道 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
4

1 回答 1

2

我认为在 OS X 上不使用 AudioSession。

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

如果您查看AudioSession的文档,您将看到:

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

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

于 2013-04-07T23:48:59.927 回答