iphone - 在iOS上后台录音

标签 iphone audio background location recording

我有一个在后台使用位置服务的应用程序。工作正常。
但是我想要在某个时候做的是在应用程序处于后台时检查一些音频电平。由于某种原因,它似乎不起作用。在前台运行时,该功能运行良好,但在后台运行时,录音机的平均和峰值输入始终为-120。

这就是我用来达到目的的方法(似乎似乎没有用。)

            ....
            [recorder record];
            if (levelTimer == nil) {
                    bgTask = 0;
                    app = [UIApplication sharedApplication];
                    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
                        [app endBackgroundTask:bgTask];
                    }];
                levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.02 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];
            }
            ...

是的,即使在后台,也会每0.02秒调用一次levelTimerCallback,因此我认为beginBackgroundTaskWithExpirationHandler可以正常工作。

有什么想法或提示吗?

最佳答案

当前,在iOS设备上进行后台录制的唯一受支持的方法是在应用程序的plist中包括UIBackgroundModes键的音频,启用适当的音频 session 进行录制,并在应用程序进入应用程序之前开始录制(或播放)音频。背景。

如果应用程序使用音频队列或RemoteIO音频单元API进行记录,则缓冲区回调仅可以丢弃所有音频缓冲区,直到达到感兴趣的时间为止,然后计算PCM采样所代表的能量,以达到所需的时间。需要。

关于iphone - 在iOS上后台录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12534095/

相关文章:

android - 后台 Android 应用程序可以截取当前 Activity 屏幕的屏幕截图吗?

iphone - 自定义 UIView 在 [super dealloc] 上抛出 EXC_BAD_ACCESS

iphone - 为什么我在启动 iPhone OS 应用程序时得到 "security policy error"?

c++ - [C++]我想从wav文件中获取PCM数据

javascript - 制作一个包含多个音乐播放列表选项的数组

jquery - 使用 jQuery 更改 html 背景图像

ios - Objective-C:在 iOS 上使用 AVFoundation 录制视频时静音/取消静音

iphone - 如何使 Progressbar(UISlider) 在我的应用程序中动态工作?

ios - 在iOS上使用ActionScript3播放声音会导致不良效果

image - CSS3 英雄图像 : Whats the best pixel dimension and Image Size for a full screen responsive background?