加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 如何托管Apple的Pitch Shift Audio Unit插件等

发布时间:2020-12-16 06:57:13 所属栏目:百科 来源:网络整理
导读:如何在自己的窗口中正确托管PitchShift音频单元插件? 我正在开发一个Mac应用程序,它承载Apple系统提供的Audio Unit插件.使用新的OSX 10.7 Lion,一些插件具有更新的视图. PitchShift就是其中之一. PitchShift和其他一些人有新的旋钮来改变参数.使用鼠标旋转
如何在自己的窗口中正确托管PitchShift音频单元插件?

我正在开发一个Mac应用程序,它承载Apple系统提供的Audio Unit插件.使用新的OSX 10.7 Lion,一些插件具有更新的视图. PitchShift就是其中之一.

PitchShift和其他一些人有新的旋钮来改变参数.使用鼠标旋转旋钮时,旋钮下方会显示一个显示旋钮参数值的水平条.

释放旋钮后,即使窗口关闭后,此栏也会停留在屏幕上.如果我单击其中一个旋钮,从而创建一个流氓值栏,并移动PitchShift视图所在的窗口,则该栏位于窗口所在的位置.如果此时再次单击旋钮,则会出现一个新条,但两个条都会通过更改旋钮参数值信息进行主动更新.每当我重复这个过程时会发生这种情况,更多的酒吧停留在屏幕上.

在发生这种情况几次后,我的应用程序退出,在main.m文件中的NSApplicaionMain()调用时访问权限不佳.

我检查了逻辑9,这不会发生在那里.该条似乎直接与旋钮相连,因此在您将旋钮与鼠标一起使用后立即消失.

我将PitchSHift视图设置为专用NSWindow的contentView.

Logic如何防止这种情况发生,或者我怎么做?

我试过看看参数值是否在PitchShift视图的子视图中,但它们似乎不是.

任何帮助将不胜感激.

编辑:当一个值栏首次出现时,我从我的程序在控制台中得到以下输出:圆和线不相交

所以我发现它正在使用核心动画CALayers.现在的问题是值栏图层不是PitchShiftView图层层次结构的一部分.换句话说,我可以找到构建pitchShiftView的所有其他图层,但不能找到值条的图层.这似乎可能是整个问题的开始.

解决方法

我终于弄明白了.参数值栏是拥有音频单元视图的窗口的子窗口.

为了解决这个问题,我在NSApplication的子类中捕获窗口的鼠标事件,然后关闭子窗口(也就是值栏),这样它们就不会停留在屏幕上.

这并没有阻止退出不良访问.我现在认为这是一个单独的问题,似乎只与这些挥之不去的子窗口有关.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读