- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以使用 MusicPlayer 的 MusicTrackSetProperty(t, kSequenceTrackProperty_MuteStatus...) 方法轻松静音/取消静音 midi 音轨。但是,我还没有弄清楚如何启用/禁用轨道中的特定 MIDI channel 。轨道内的 channel 是否有静音/取消静音或禁用/启用属性?
类似的事情会在轨道级别上完成吗?或者我应该以某种方式操纵 midi 合成器音频单元?
创建端点对我没有任何好处,因为我只获得发送到合成器的事件的副本,而不是我可以看到的用于过滤发送到合成器的内容的回调。所以,我认为音频单元图中可能有一些东西可以调整,但到底是什么呢?
有人可能建议使用 kMusicSequenceLoadSMF_ChannelsToTracks 标志打开 midi 文件,然后简单地取消与 channel 对应的轨道的静音并将其余轨道静音。我尝试这样做,但在没有 kMusicSequenceLoadSMF_ChannelsToTracks 标志的情况下打开 midi 文件时,我实际上得到了/less/轨道。奇怪的。也许我应该明白为什么会这样,对吧?这是我的 MIDI 文件:16 个轨道,每个轨道包含 6 个 MIDI channel 。如果没有 kMusicSequenceLoadSMF_ChannelsToTracks,我会得到 16 个轨道,如果使用 kMusicSequenceLoadSMF_ChannelsToTracks 标志,则为 12。难道不应该是 16*6 轨道吗?
感谢您的帮助。给你最好的。/杰伊
最佳答案
您走在正确的轨道上。据我所知,kMusicSequenceLoadSMF_ChannelsToTracks 将合并公共(public) channel 。因此,如果给定两个音轨,每个音轨包含来自三个 channel 的音符,假设音轨 1 在 channel 1、2 和 3 上有音符。而音轨 2 在 channel 3、4 和 5 上有音符。然后使用 kMusicSequenceLoadSMF_ChannelsToTracks 标志将使用 channel 合并音符3 从 track1 和 track2 到一个新的轨道。使用该方法,轨道总数将为 5。这可能是要走的路,除非你能证明不是这样。否则,如果你真的需要把事情分开,端点是一种有效的方法。您只需要手动发送 MIDI 事件而不是建立连接(将轨道指向合成器)。在您的回调中,您应该解析 midi 并调用 MusicDeviceMIDIEvent 以直接触发合成器。您可以在那里进行过滤。
关于ios - 如何在 CoreMidi 轨道中播放特定 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774660/
我是一名优秀的程序员,十分优秀!