我对 C#、MonoMac 和 Xamarin 非常陌生,正在尝试使用 this awesome example 播放一些使用 C# 和 Xamarin.Mac 生成的音频。 .
不幸的是第一行:
AudioSession.Initialize();
抛出EntryPointNotFoundException。
我偶然发现了this forum post有人遇到类似的问题并表明它与不正确的绑定(bind)有关。
我真的可以让它发挥作用吗?如果没有,我可以用什么代替?
非常感谢您的帮助。
我的系统
Xamarin.Mac: 1.2.43
Xamarin.Studio Version 4.0.3 (build 13)
Mono 2.10.12 (mono-2-10/c9b270d)
GTK 2.24.16
GTK# (2.12.0.0)
Package version: 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
最佳答案
我认为 OS X 上不使用 AudioSession。
您正在使用的示例代码可能适用于 iOS。
如果您检查 documentation对于 AudioSession,您将看到:
These functions apply only to iOS. They do not apply to Mac OS X.
此外,请参阅此 discussion 。 AudioSession 根本不可用,这就是为什么在尝试调用它时会收到 EntryPointNotFoundException...
关于c# - MonoMac/Xamarin.Mac : EntryPointNotFoundException for AudioSession. 初始化(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15799092/