gpt4 book ai didi

iphone - 接近传感器影响播放音频的线程

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:30 25 4
gpt4 key购买 nike

一个 iPhone 应用程序使用 NSThread 启动一个线程,该线程定期播放短音频以提供节奏。

启动和播放声音的代码:

tickingThread = [[NSThread alloc] initWithTarget:self
selector:@selector(playStepTicks:)
object:nil];

-(void)playStepTicks:(id) arg
{
NSLog(@"Started ticking.");
NSThread *cur = [NSThread currentThread];
NSTimeInterval stime = 0.3;
while (!cur.isCancelled) {
CFTimeInterval t = CACurrentMediaTime();
NSLog(@"Tick: %f", t);
AudioServicesPlaySystemSound (tickSound);
t = CACurrentMediaTime() - t;
[NSThread sleepForTimeInterval:stime-t];
};
NSLog(@"Stopped ticking.");
}

音频循环在 iOS6 上运行非常精确,并且在屏幕打开时不会因 UI 事件而分心。

我们在 iPhone 4S 上启用了接近传感器以节省电量。

不幸的是,这对音频循环产生了不愉快的影响:滴答声播放时抖动很大(参见 video on YouTube)。

如何在 iOS 6 上解决这个问题?

最佳答案

在苹果开发者论坛求助后,我们决定使用Audio Units来产生连续的音频信号,并适当设置其幅度(静音为零,滴答声为常数)以实现滴答声效果。

代码是根据iOS Tone Generator写的.

关于iphone - 接近传感器影响播放音频的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com