【问题标题】:Allows music playback during recording video like snapchat ios允许在录制视频期间播放音乐,例如 snapchat ios
【发布时间】:2015-04-27 05:52:33
【问题描述】:

首先我想讨论snapchat中发生的场景。

当您开始录制视频并且歌曲在后台运行时,在 snapchat 中;它允许在录制视频时继续播放该歌曲,并且在录制该视频后,您还可以在后台听到该歌曲。

我正在使用SCRecorder 录制视频并使用我的自定义布局捕获图像。现在我想像上面的场景一样做,但问题是每当我开始在背景歌曲中录制视频时都会停止播放。

SCRecorder 正在使用AVCaptureSession 录制视频。

那么我该如何解决这两个问题:

  1. 在使用 SCRecorder 录制视频时允许背景音乐。
  2. 录制在视频背景中播放的歌曲。

【问题讨论】:

  • 您解决了 SCRecorder 的问题了吗?我也在做同样的事情,并且能够在后台播放音乐。但我的问题是当我打开/关闭应用程序时,音乐停止一秒钟然后自动重新启动。虽然我一秒钟都不想停止音乐。
  • 没有@Surjeet。我还在寻找答案。如果你找到什么,请告诉我。
  • 是的,我完成了这项工作,并允许同时在后台录制和播放音乐。但它给了我 1 秒的暂停并自动重新启动。如果你也想要,我可以帮你。
  • 是的,请在此处将其添加为答案。因此对其他人也有帮助,并且可能有人也可以解决 1 秒保留问题。 @Surjeet

标签: ios objective-c iphone ios7 avcapturesession


【解决方案1】:

这是我用来允许使用 SCRecorder 库播放背景音乐的内容。 希望这对您也有帮助。

didFinishLaunchingWithOptions 方法中的 AppDelegate 类中编写此代码 -

AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setCategory:AVAudioSessionCategoryPlayAndRecord  withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error:nil];

    [session setActive:YES error:nil];

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

SCRecorder libaray 的 'SCRecorder.m' 文件中写入以下行之后 在 prepare 方法中在初始化 AVCaptureSession 之后。

session.automaticallyConfiguresApplicationAudioSession = NO;

如果您不是 SCRecorder 库用户,请在您的类中初始化 AVCaptureSession 之后在上面的行中编写。

【讨论】:

  • 最佳答案!在 iOS10 上运行良好。想了解是否“[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];”以及为什么远程控制事件很重要。
  • .allowBluetoothA2DP 优于 .allowBluetooth。如果两者都设置,则免提配置文件 (HFP)
  • .allowBluetoothA2DP -> 高级音频分发配置文件 (A2DP) .allowBluetooth -> 免提配置文件 (HFP) .allowBluetoothA2DP 优于 .allowBluetooth。如果两者都设置,那么免提端口将被赋予更高的路由优先级。
  • 我使用了上面提供的相同方法。它允许播放背景音乐,但现在我的相机冻结了。现在是全黑屏了。
  • @AmanGupta 确保您没有使用其他配置再次覆盖 AudioSession。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 2014-03-29
  • 2017-07-28
  • 2017-10-17
相关资源
最近更新 更多