首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >余震/压力Midi命令不能在AVFoundation中工作

余震/压力Midi命令不能在AVFoundation中工作
EN

Stack Overflow用户
提问于 2015-10-18 18:06:46
回答 1查看 234关注 0票数 1

我正在使用AVAudioUnitSampler来播放一些midi的声音,我已经加载了一个声音字体,成功地使用了开始音符、停止音符和应用音高弯曲midi命令。我现在正试图加入余震或压力命令,因为它在AVFoundation中被称为。

因此,我的代码看起来大致如下(简化):

代码语言:javascript
复制
self.midiAudioUnitSampler.startNote(60, withVelocity: 60, onChannel: 0)
//some time later... 
self.midiAudioUnitSampler.sendPressure(20, onChannel: 0)

音符在嗡嗡作响,但发送压力指令似乎对声音输出没有任何影响。我试过使用发送压力和sendPressureForKey到,但没有运气。

我做错了什么,还是我误解了sendPressure的工作?我希望它在播放后会改变音符的音量。

顺便说一下,我有一个播放音符的设置,我有一个单独的控件,可以在音符回放启动后的某个时候将pressureCommands触发到采样器中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-02 22:47:23

我的猜测是,采样器不知道如何处理回响信息。如果要更改音符的音量(以及播放的任何其他音符),则可以将值发送到参数7(音量):

代码语言:javascript
复制
self.midiAudioUnitSampler.sendController(7, withValue: 20, onChannel: 0)

根据我的经验,我有一种感觉,采样器确实响应MIDI控制器7。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33201421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档