【发布时间】:2016-06-10 20:19:10
【问题描述】:
我正在使用 AVAudioSession 开发一个快速的音频/视频和文本聊天 iOS 应用程序。
每当我选择使用某些蓝牙设备时,设备上播放的声音不是 App 音频流。每当发送/接收消息时,它们只会播放文本聊天库发送的系统声音。并非所有蓝牙设备都会发生这种情况,其中一些设备一切正常。在内置麦克风和扬声器上,该应用程序也可以正常工作。
以下是我班级管理设备的最重要方法:
class MyAudioSession
{
private var mAudioSession: AVAudioSession;
init!()
{
self.mAudioSession = AVAudioSession.sharedInstance();
do {
try self.mAudioSession.setActive(false);
try self.mAudioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: .AllowBluetooth);
try self.mAudioSession.setMode(AVAudioSessionModeVideoChat);
try self.mAudioSession.setActive(true);
}
catch {
return nil;
}
}
func switchToDevice(device: AVAudioSessionPortDescription!) -> Bool
{
var ret = false;
if (device != nil) {
do {
try self.mAudioSession.setPreferredInput(device);
ret = true;
}
catch {
self.logSwitch(device, error: error);
}
}
return ret;
}
}
我想了解为什么我的应用程序无法在某些蓝牙设备上正常运行。这些相同的设备在我的 Cel 上的其他应用程序上正常工作。
我做了另一个测试:我为 MPVolumeView 更改了所有这些,并且发生了完全相同的问题,所以问题似乎出在音频播放器上。
谁能给我一个解决这个问题的建议?
谢谢。
【问题讨论】:
-
Jorg,你有什么运气吗?我们遇到了同样的问题。有些应用程序适用于某些设备,我们的 AVAudioSession 不是。我正在记录它是一个 AVAudioSessionPortBluetoothA2DP 但玩它没有骰子。同样,适用于大多数 BT 设备,但不是少数选择的设备。
-
Jorg,如果你还在 SO,你介意看看我最近在 2018 年 4 月 9 日提出的问题吗?它似乎与您在这里所经历的相似。不胜感激! PS - 你解决过这个问题吗?
标签: ios iphone swift audio bluetooth