首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可能是指针错误Midi sysEx

可能是指针错误Midi sysEx
EN

Stack Overflow用户
提问于 2017-10-30 13:59:59
回答 1查看 130关注 0票数 0

在使用以下代码运行应用程序时,有时会出现错误代码:

代码语言:javascript
复制
let letstryOtherThing: @convention(c) (UnsafeMutablePointer<MIDISysexSendRequest>) -> Swift.Void =
{ plop in
    print("here")
}

let rawPointer = UnsafeRawPointer([0xF0, 0x20, 0x21, 0x22, 0x23, 0xF7])
let pointer = rawPointer.assumingMemoryBound(to: UInt8.self)

let bytesToSend: UInt32 = 60
let complete: DarwinBoolean = false
let completionProc: MIDICompletionProc? = letstryOtherThing
let completionRefCon: UnsafeMutableRawPointer? = nil
let data: UnsafePointer<UInt8> = pointer
let destination: MIDIEndpointRef = dest!
let reserved: (UInt8, UInt8, UInt8) = (0, 0 ,0)

var midiRequest:MIDISysexSendRequest = MIDISysexSendRequest(destination: destination, data: data, bytesToSend: bytesToSend, complete: complete, reserved: reserved, completionProc: completionProc!, completionRefCon: completionRefCon)

DispatchQueue.main.async(execute: {
    MIDISendSysex(&midiRequest)
})

守则是:

EXC_BAD_ACCESS (code=1,address=0x800000020)。

如果有人有想法的话,我会使用CoreMidi库。

EN

回答 1

Stack Overflow用户

发布于 2017-10-31 13:24:52

我发现了问题。这是因为这个var是本地的,在全局中声明它是必要的。

代码语言:javascript
复制
var midiRequest:MIDISysexSendRequest = MIDISysexSendRequest(destination: destination, data: data, bytesToSend: bytesToSend, complete: complete, reserved: reserved, completionProc: completionProc!, completionRefCon: completionRefCon)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47017150

复制
相关文章

相似问题

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