2

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

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

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

如何?

4

1 回答 1

4

必须有一些代码使用 AV 系统来获取音频。检查类似的电话

[session addInput:audioDeviceInput];

其中 session 是 AVCaptureSession 的一个实例。

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

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

[session addInput:audioDeviceInput];

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

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

于 2015-07-02T12:37:28.547 回答