iOS: 在相机打开并拍照时播放来自另一个应用程序的音乐

iOS: Play music from another app while camera is open and taking a picture

我检查了 Google 和这里。也许这个问题还没有被问到,或者我只是以一种非常奇怪的方式问它。有一些应用程序,我特别注意到的一个是 Snapchat,当应用程序打开时,音乐会继续播放,即使使用相机,甚至在打开或关闭静音开关的情况下拍照。相机的声音也消失了。

举个例子,现在我正在通过 Soundcloud 听音乐,当我打开我的应用程序时,音乐停止播放,但我可以在使用我的应用程序时按下播放键并在我输入此行后继续播放音乐我的 appWillEnterForeground 方法中的代码:[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

当我在 Snapchat 中执行此操作时,音乐会继续播放。即使我也拍视频!

怎么做?

必须有一些代码使用音频的 AV 系统。检查像

这样的电话
[session addInput:audioDeviceInput];

其中会话是 AVCaptureSession 的一个实例。

为了演示和研究,您可以从 XCode 中获取 Apple 示例 AVCam (https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html) 和 运行。正在播放音乐时,AVCam 应用程序启动时将停止播放。

现在打开源文件 AVCam/AVCamViewController.m 并搜索行

[session addInput:audioDeviceInput];

当您删除此行或将其注释掉时,运行 应用程序将继续播放音乐。

当然,您的应用中可能还有其他语句会阻止声音播放。检查 AV 对象对方法的调用,尤其是音频输入和输出。