在应用程序间音频中,如何获得主机音序器的bpm / tempo?

时间:2014-12-25 14:08:01

标签: ios core-audio

我正在将我的应用内音频应用到我的鼓机中。

如果它会很棒,如果它会与主机应用程序同步播放。 如何读出主机app /节点的速度,例如车库乐队?

并且 - 我想,我的应用和主机应用之间可能会出现一些延迟。 有任何建议如何处理这个?

谢谢你, 奥利弗

1 个答案:

答案 0 :(得分:4)

我认为这是解决方案:

        // BPM
        Float64 isCurrentBeat; // = self.currentBeat;
        Float64 isCurrentBPM; // = self.currentBPM;
        HostCallback_GetBeatAndTempo beat = callBackInfo->beatAndTempoProc(hostUserData,
                                                                           &isCurrentBeat,
                                                                           &isCurrentBPM);
        if (beat == noErr) {
            if (self.currentBPM != isCurrentBPM) {
                NSLog(@"%@ - currentBPM: %f currentBeat: %f \r", NSStringFromClass([self class]), self.currentBPM, isCurrentBPM);
                [[OGAudioController defaultAudio] setBPMto:isCurrentBPM];
            }
            //NSLog(@"%@ - currentBPM: %f currentBeat: %f", NSStringFromClass([self class]), self.currentBPM, isCurrentBPM);
            self.currentBPM = isCurrentBPM;
            self.currentBeat = isCurrentBeat;
        }