我刚创建的滚筒应用程序。用户点击触发短的声音从使用的AudioToolbox systemsound发挥各个按钮。 我现在想添加一个UIButton它说“记录”,并点击时,会记录所有Systemsounds正在播放,然后当使用按下停止按钮;然后程序应该能够回放声音。

我如何去这样做?该程序能够记录短的整个过程听起来用户触发通过点击个别严重的地区?!

请让我知道

由于

有帮助吗?

解决方案

我不熟悉的iPhone本身的音频硬件,但由于它不公开任何内部综合化套路,我不会感到惊讶,如果它无法捕捉到返工,出境音频。

我怀疑你会发现它更容易,特别是如果你不熟悉编程直接音频硬件,而不是到记录鼓的动作和时间间隔与回放相同的方式中的音频文件作为最初使用了。这也有一个好处,你可以编辑,减速,加速,和其他技巧,而不直接更改音频。

随着鼓打,你需要追加到一个NSMutableArray。下面的示例是基于drumType(标签用于滚筒按钮被击中例如),和一个drumNextDelay其是延迟(NSTimeInterval)到下鼓命中。有明显的处理这更多的方式,但它只是一个例子。

再现的粗略版本可以通过调用performSelector多次与下一个时间间隔来实现,类似如下:

- (void) startPerformance {
self.drumIndex = -1;
[self performSelector:@selector(playDrumBeat) withObject:nil afterDelay:0];
}

- (void) playDrumBeat {
self.drumIndex++;
[self playDrum:[[drumBeats objectAtIndex:self.drumIndex] drumType]];
[self performSelector:@selector(playDrumBeat) withObject:nil afterDelay:[[drumBeats objectAtIndex:self.drumIndex] drumNextDelay]];
}

这可以容易与操作系统的计时问题,但我想追求的东西像这样的首次降息,看看它是否工作。

巴尼

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top