首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AVMIDIPlayer DLSBankManager::AddBank: Bank加载失败

AVMIDIPlayer DLSBankManager::AddBank: Bank加载失败
EN

Stack Overflow用户
提问于 2016-09-15 21:40:28
回答 1查看 366关注 0票数 1

当我使用AVMIDIPlayer播放只有一条便笺消息的MusicSequence时。大多数情况下,它工作正常,但有时没有声音,并记录如下:

代码语言:javascript
运行
复制
DLSBankManager::AddBank: Bank load failed
Error Domain=com.apple.coreaudio.avfaudio Code=-10871 "(null)"

它在iOS9上工作得很好,但当我在iOS10上测试它时,它遇到了这个问题。我确信sf2音频库文件url设置正确。我粘贴如下代码:

代码语言:javascript
运行
复制
func playAVMIDIPlayerPreview(_ musicSequence:MusicSequence) {

    guard let bankURL = Bundle.main.url(forResource: "FluidR3 GM2-2", withExtension: "sf2") else {
        fatalError("soundbank file not found.")
    }

    var status = OSStatus(noErr)
    var data:Unmanaged<CFData>?
    status = MusicSequenceFileCreateData (musicSequence,
                                          MusicSequenceFileTypeID.midiType,
                                          MusicSequenceFileFlags.eraseFile,
                                          480, &data)

    if status != OSStatus(noErr) {
        print("bad status \(status)")
    }

    if let md = data {
        let midiData = md.takeUnretainedValue() as Data
        do {
            try self.midiPlayerPreview = AVMIDIPlayer(data: midiData, soundBankURL: bankURL)
        } catch let error as NSError {
            print("Error \(error)")
        }
        data?.release()

        self.midiPlayerPreview?.play({ () -> Void in
            self.midiPlayerPreview = nil
            self.musicSequencePreview = nil
        })
    }

}

错误发生在以下行:

代码语言:javascript
运行
复制
try self.midiPlayerPreview = AVMIDIPlayer(data: midiData, soundBankURL: bankURL)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-13 15:49:36

在加载errno = 0之前,尝试将全局变量errno设置为0 soundfont

代码语言:javascript
运行
复制
try self.midiPlayerPreview = AVMIDIPlayer(data: midiData, soundBankURL: bankURL)

我们遇到了同样的问题,同时也遇到了this one。所以我们尝试将另一个问题的修复应用到这个问题上,它就这样起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39512603

复制
相关文章

相似问题

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