Core audio MusicDeviceMidEvent:iOS5.1上的函数未知

Core audio MusicDeviceMidEvent:iOS5.1上的函数未知,core-audio,ios5.1,audiounit,Core Audio,Ios5.1,Audiounit,我试图使用MusicSequence来控制针对iOS5.1的AUSampler实例 该项目引用了项目编译和运行的CoreAudio和AudioToolbox,但调用MusicDeviceMIDIEvent时出错,Xcode访问错误,“未知函数”AppCode 我看到API已经改变,MusicDeviceMIDIEvent现在存在于AudioUnit框架中的MusicDevice.h中 如果我试图添加对AudioUnit.framework的引用,据我所知,该引用包含我得到的函数“framewor

我试图使用MusicSequence来控制针对iOS5.1的AUSampler实例

该项目引用了项目编译和运行的CoreAudio和AudioToolbox,但调用MusicDeviceMIDIEvent时出错,Xcode访问错误,“未知函数”AppCode

我看到API已经改变,MusicDeviceMIDIEvent现在存在于AudioUnit框架中的MusicDevice.h中

如果我试图添加对AudioUnit.framework的引用,据我所知,该引用包含我得到的函数“framework not found AudioUnit”,项目无法构建

关于SE的其他问题建议我应该在AudioUnit上使用CoreAudio和AudioToolbox

此外,我可以看到示例代码“LoadPresetDemo”在没有AudioUnit框架的情况下运行,但我不明白为什么


如果您有任何建议或建议,我们将不胜感激。

要使用MusicLayer API,您只需将
AudioToolBox
框架添加到您的项目中,然后在项目中导入AudioToolBox.h:

#import <AudioToolbox/AudioToolbox.h>

//MusicPlayer.h
#包括
#如果!已定义(\uuuuCoreAudio\uUse\uFlat\uuIncludes)
#包括
#包括
#否则
#包括
#包括
#恩迪夫

谢谢您的时间,&代码很有用,但我的问题是关于这个苹果中显示的func MusicDeviceMIDIEvent。看起来它应该需要AudioUnit.fmwk,因为这是文档引导我的地方,但是上面的代码没有引用它(并且工作正常!)。尽管如此,在我对上述代码的克隆中,我的应用程序在运行时调用MusicDeviceMIDIEvent时失败,Xcode和Appcode都显示它丢失。感谢alt方法,仍然对问题感兴趣。哦,我似乎还不能提升你的答案,因为我没有声誉,但我非常感谢你的替代方法。再次感谢。添加了更新。@投票-没问题。如果这回答了您的问题,您可以勾选复选标记(也称为“接受答案”)。花了很多时间/精力在核心音频方面-没有好的文档。如果你打算使用Core Audio,其中一本书是《学习Core Audio:Mac和iOS音频编程的实践指南》——虽然没有我想要的那么深入,但仍然值得一读。好的,谢谢你的更新和补充信息。有了以上的见解,我同意,我可能还有其他原因导致我的痛苦,比如项目/ide设置。我有这本有声书。我可能会说我读过其他任何一本书,但有了这本书,我只能说我做了“第一关”;)再次感谢。
#define AUDIO_TOOLBOX_VERSION 1060

#include <Availability.h>
#include <TargetConditionals.h>
#if !defined(__COREAUDIO_USE_FLAT_INCLUDES__)
    #include <AudioToolbox/AudioFile.h>
    #include <AudioToolbox/AudioFileStream.h>
    #include <AudioToolbox/AudioFormat.h>
    #include <AudioToolbox/AudioQueue.h>
    #include <AudioToolbox/AudioServices.h>
    #include <AudioToolbox/AUGraph.h>
    #include <AudioToolbox/AudioConverter.h>
    #include <AudioToolbox/ExtendedAudioFile.h>
    #include <AudioToolbox/MusicPlayer.h>
    #include <AudioToolbox/CAFFile.h>
    #if !TARGET_OS_IPHONE
        #include <AudioToolbox/AudioFileComponent.h>
        #include <AudioToolbox/AudioUnitUtilities.h>
        #include <AudioToolbox/AUMIDIController.h>
        #include <AudioToolbox/CoreAudioClock.h>
    #endif
#else
    #include <AudioConverter.h>
    #include <AudioFile.h>
    #include <AudioFileComponent.h>
    #include <AudioFileStream.h>
    #include <AudioFormat.h>
    #include <AudioQueue.h>
    #include <AudioUnitUtilities.h>
    #include <AUGraph.h>
    #include <AUMIDIController.h>
    #include <CAFFile.h>
    #include <CoreAudioClock.h>
    #include <ExtendedAudioFile.h>
    #include <MusicPlayer.h>
    #include <AudioServices.h>
#endif
// MusicPlayer.h
#include <Availability.h>
#if !defined(__COREAUDIO_USE_FLAT_INCLUDES__)
    #include <CoreAudio/CoreAudioTypes.h>
    #include <AudioUnit/AUComponent.h>
#else
    #include <CoreAudioTypes.h>
    #include <AUComponent.h>
#endif