首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[MonoTouch][Bass.dll]应用程序崩溃“尝试JIT编译方法.在运行时只使用-aot”

[MonoTouch][Bass.dll]应用程序崩溃“尝试JIT编译方法.在运行时只使用-aot”
EN

Stack Overflow用户
提问于 2012-09-09 14:55:05
回答 1查看 1.4K关注 0票数 5

我遇到了一个问题,我三天都解决不了,你是我最后的希望。

我的目标是用Bass.dll记录声音( iPhone有特殊版本的库,也有.net包装器的版本;可以在这里找到: un4seen.com)

模拟器上,程序工作(或似乎工作正常)。但是当我试图在iPhone上运行它时-我得到了这个错误:

“尝试JIT编译方法‘’(包装本机到托管) RecordingAudioHelloWorld.Player:recordingHandler (int,intptr,int,intptr)‘时只使用-aot。”

错误发生在这里:

代码语言:javascript
复制
RECORDPROC _recordingHandler = new RECORDPROC(recordingHandler);

_record = Bass.BASS_RecordStart(16000, 1, BASSFlag.BASS_SPEAKER_RIGHT, _recordingHandler, IntPtr.Zero); // <-- ERROR!!!

private int recordingHandler (int handle, IntPtr buffer, int length, IntPtr user)
{
//....
}

当我在这里阅读时,我将Linker行为更改为"Link程序集“,但没有任何效果。

我能用它做点什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-10 06:07:07

尝试将MonoPInvokeCallback属性添加到recordingHandler函数中。请注意,您还需要使函数保持静态。YourDelegateType应该是您在C#中定义的与此方法的签名相对应的委托类型。

代码语言:javascript
复制
[MonoPInvokeCallback (typeof(YourDelegateType)]
private static int recordingHandler (int handle, IntPtr buffer, int length, IntPtr user)
{
// ...
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12340113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档