【问题标题】:Check if node already attached to AVAudioEngine检查节点是否已附加到 AVAudioEngine
【发布时间】:2016-02-20 22:40:30
【问题描述】:

我成功地将 AVAudioPlayer 节点附加到我的 AVAudioEngine。但是,我需要稍后检查这些节点是否已经附加到它(所以我不重新添加它们)。

我可以检查引擎上的任何特定属性是否已附加?

【问题讨论】:

    标签: ios avfoundation avaudioengine avaudioplayernode


    【解决方案1】:

    您可以检查 AVAudioPlayerNode 的引擎属性,如果为 nil,则表示它未附加到音频引擎。

    for playerNode in yourPlayerNodeArray {
            if playerNode.engine == nil {
                yourEngine.attach(playerNode)
            }
        }
    

    【讨论】:

    • 寻找我的解决方案。让我知道是否有任何陷阱?
    【解决方案2】:

    该实现很可能使用接口实现并具有与之关联的 API。我建议阅读 API 以检查是否存在返回附加的(活动)节点列表的函数。

    【讨论】:

    • 是的,我阅读了文档,但没有看到任何有用的信息,所以想知道是否还有其他人知道的方法
    • 创建一个 model 并存储对附加节点的引用。并为 model 创建一个静态 API,以便您可以存储和检索对节点的引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2019-08-21
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    相关资源
    最近更新 更多