【问题标题】:AudioComponentGetIcon unavailable on Catalyst (iOS to macOS porting)AudioComponentGetIcon 在 Catalyst 上不可用(iOS 到 macOS 移植)
【发布时间】:2020-05-12 21:16:09
【问题描述】:

我想使用 Catalyst 将 iOS 应用程序移植到 macOS。 该应用是 AUv3 插件的音频宿主。

问题是我无法使用 AudioComponentGetIcon API 获取插件图标,因为它在 macOS 上不可用。

如何获取插件图标?

    while (true) {
        comp = AudioComponentFindNext(comp, &rau->_desc);
        if (comp == NULL) break;

        AudioComponentDescription desc = { 0, 0, 0, 0, 0 };
        if (AudioComponentGetDescription(comp, &desc) != noErr) continue;

#if !TARGET_OS_MACCATALYST
        rau->_image = AudioComponentGetIcon(comp, 76);
        rau->_lastActiveTime = AudioComponentGetLastActiveTime(comp);
#else

#warning CATALYST WHAT I SHOULD DO here?
        //rau->_image = AudioComponentGetIcon(comp);
#endif
        if (rau->_image == nil) {
            rau->_image = [UIImage imageNamed:DEFAULT_AU_IMAGE];
        }        
    }

【问题讨论】:

  • 您好,欢迎来到 S.O,您是否针对您的问题进行过任何研究,请提供您所做的努力。
  • 我已联系 Apple 并表示“AudioComponentGetIcon”在 iOS 上已被弃用。所以在 macOS 中可以从 AudioComponent 获取 AUv3 图标?
  • 那么 AVAudioUnitComponent 的 icon 属性呢? developer.apple.com/documentation/avfoundation/…

标签: ios macos audiounit catalyst


【解决方案1】:

Apple 的官方回答:iOS 上仅支持 AudioComponentGetIcon 用于跨应用音频,而不支持音频单元扩展。由于现在 iOS 上已弃用 Inter-App Audio,因此该功能在 Catalyst 中不可用,包括 AudioComponentGetIcon。 所以,是的,在 Mac Catalyst 应用程序中,不可能获得 AU 图标。 在 macOS 应用程序(非 Catalyst)中,AudioComponentGetIcon 函数仍然可用,但这并不能为 Catalyst 应用程序提供解决方案。没有“桥接”机制可以让您的 Catalyst 应用程序跨越到 macOS 功能。

我也想出了这个解决方法,但 __comp.icon 和 __comp.iconURL 在 Catalyst 中仍然不可用。

AVAudioUnitComponentManager* av = [AVAudioUnitComponentManager sharedAudioUnitComponentManager];
NSArray<AVAudioUnitComponent *>* comps = [av componentsMatchingDescription:desc];
AVAudioUnitComponent* __comp = [comps objectAtIndex:0];
NSImage *iconIMG = __comp.icon; //not available on Catalyst
NSURL *iconURL = __comp.iconURL; //not available on Catalyst

【讨论】:

    猜你喜欢
    • 2020-08-02
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    相关资源
    最近更新 更多