2

我正在尝试使用使用 AVAudioSession 的蓝牙设备播放语音。这是我尝试放入 appdelegate.swiftdidFinishLaunchingWithOptions和 viewcontroller.swift 的代码(一次一次)

  import AVFoundation
var audioSession:AVAudioSession = AVAudioSession.sharedInstance() 

 audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.AllowBluetooth, error: nil)

所以代码执行完美,但不使用连接的蓝牙设备。实际上,我在 iPhone 上打开了控制中心,在未打开应用程序时将音频源显示为蓝牙设备,但是一旦打开应用程序,蓝牙设备选项就会消失...

其余代码(如果有任何用途)是 -

var engine = AVAudioEngine() 
var input = engine.inputNode 
var output = engine.outputNode 
var format = input.inputFormatForBus(0) 
var error:NSError? 
var audioSession:AVAudioSession = AVAudioSession.sharedInstance()    engine.startAndReturnError(&error)

它基本上是一个现场音频播放器,它从麦克风中获取声音并将其播放到 AUX、扬声器、(蓝牙)

4

1 回答 1

1

你是对的,设置选项 AllowBluetooth 是在应用程序中打开蓝牙的一种也是唯一的方法。但是蓝牙可能存在一些问题:

  1. 您的蓝牙设备不支持协议 A2DP(高级音频分发配置文件),您可以通过标准音乐应用程序播放音乐来检查它。
  2. 如果您设置了preferredBufferDurationprefferedSampleRate它也可能会影响蓝牙。

或许问题就在于此。

于 2017-04-10T13:37:08.343 回答