蓝牙开启时播放声音:没有声音(iOS Swift)

时间:2015-06-13 19:59:50

标签: ios swift audio bluetooth

我正在使用iOS Swift编程蓝牙传感器,并希望在连接蓝牙且传感器工作时播放声音。例如,当温度过高时,应发出声音警报。

然而,出于某种原因,即使playSound()函数似乎正在工作,声音也是静音:我们看到println消息“正在播放音频(测试线)。此行是否出现在控制台?)“从控制台。

我想知道蓝牙是否会阻止AVAudioPlayer工作。怎么发出声音?

代码经过编程,只要蓝牙开启,声音应始终发出哔哔声。我注意到一个有趣的现象: 当Bluetooh关闭时,声音会发出一声哔声。 在将应用程序置于后台(按下iPhone主页按钮)时,声音会发出一次哔声。 我有点感觉蓝牙阻挡了AVAudioPlayer,因此,在蓝牙关闭的那一刻,AVAudioPlayer抓住了这个机会一次

由于 比尔

func playSound(){
    println("Playing Audio (Test line. Did this line appear in the console ?)")
    // Set the sound file name & extension
    var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Mario", ofType: "mp3")!)

    // Preperation
    AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
    AVAudioSession.sharedInstance().setActive(true, error: nil)

    // Play the sound
    var error: NSError?
    audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
    audioPlayer.prepareToPlay()
    audioPlayer.play()
}

func peripheral(peripheral: CBPeripheral!, didUpdateValueForCharacteristic characteristic: CBCharacteristic!, error: NSError!) {

    //self.statusLabel.text = "Connected"


    if characteristic.UUID == IRTemperatureDataUUID {
        // read parameters
        let allValues = Sensor.getTemperatureData(characteristic.value)
        self.temperatureData = allValues[0]
      //////////////////////////////////////////////////////////////////
        self.playSound()
}

0 个答案:

没有答案