【发布时间】:2016-08-18 08:02:51
【问题描述】:
我正在创建一个视频和音频捕获应用程序。每次我开始录制时,蓝牙扬声器中播放的音乐都会在手机的扬声器中播放。当我退出应用程序时,音乐又在蓝牙扬声器上播放。
我第一次尝试解决这个问题是为audioSession 提供必要的选项,如下所示:
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: [AVAudioSessionCategoryOptions.MixWithOthers, AVAudioSessionCategoryOptions.AllowBluetooth])
但这没有用。所以我想的第二个解决方案是将音乐输出重新路由到蓝牙扬声器。
我对此进行了研究,发现了这个功能:audioSession.setOutputDataSource
我真的不知道要在那里传递的参数。
而且我不确定在我开始录制视频的那一刻,手机/或我的代码是否禁用了蓝牙连接,或者它只是将播放重新路由到手机的扬声器。
更新:我评论了这一行:// try audioSession.setMode(AVAudioSessionModeMoviePlayback),音乐暂停了一下,然后在蓝牙扬声器上再次播放。但是这里的问题是捕获的视频没有音频。
更新 2:如果我向您提供我的代码,这个问题会有解决方案吗?
【问题讨论】:
-
你是想让它通过蓝牙播放,还是默认输出恰好是蓝牙。例如,您是否希望它无论如何都通过蓝牙播放,或者仅在手机/平板电脑连接到不同的主输出(如 AUX 或蓝牙)时播放
标签: ios swift avaudiosession