我能够创建我想要的音频播放器和录音机的确切功能,但当然也遇到了延迟问题。因此,在阅读了web上的几乎每一篇文章并回顾了大量的示例代码之后,我仍然不知道如何实现以下目标:
pre-roll/count-in
G 213)
因此,通过使用avaudioplayer和aveaso记录器,我简单地创建了一个'caf‘,使用的是在正确的bpm上设置一个节拍器的大胆(bpm是为应用程序设置的)。然后,我设置并播放avaudioplayer,并使用avaudioplayer委托方法,执行一些逻辑来启动记录器,重新启动播放机,保持循环计数等来关闭录音和音频。
正如我提到的,我基本上能够获得我所追求的用户体验,但是延迟问题是不可接受的。
我一直在使用音频单元和远程IO,并设置了一个带有回放回调和记录器回调等的项目,但现在面临的问题是如何在上面描述的基础上工作。我试着为初学者做以下工作:
之后启动录音回调。
有人能给我一些想法或者指出正确的方向吗?正如我所提到的,我已经做了一堆研究,包括购买核心音频书,阅读每一篇关于atastypixel.com、timbolstad.com等的文章,并在苹果文档中搜索。
提前谢谢你的帮助。
发布于 2014-03-21 16:12:37
我启动了一个NSTimer。使用基于BPM (每分钟Beats)/ 60的值。因此,如果用户想要记录带有something的2 bar文件,可以这样做:
//timer interval=100BPM/60secs per minute
timerInterval=100/60;
metroTimer = [NSTimer scheduledTimerWithTimeInterval:timerinterval target:self selector:@selector(blinkMetroLight) userInfo:nil repeats:YES];
- (void)blinkMetroLight
{
if(beatNumber == 0)
{
beatNumber = 1;
}
else if (beatNumber == 5)
{
[self audioProcessorStart];
}
if (beatNumber == 8)
{
[self audioProcessorStop];
[metroTimer invalidate]; metroTimer = nil;
}
beatNumber++
}https://stackoverflow.com/questions/10688286
复制相似问题