Воспроизвести звук на WatchOS - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь сделать приложение для Apple Watch, используя Xcode. Это очень простое приложение, которое воспроизводит звук всякий раз, когда нажимается кнопка, но я не могу найти способ играть.

Аудио файл находится в моем расширении WatchKit, и я пытался воспроизвести его через объект WKAudioFilePlayer, но я не знаю, правильно ли я это делаю.

 override func awake(withContext context: Any?) {
    super.awake(withContext: context)
    kickPath = Bundle.main.path(forResource:"Kick", ofType: "mp3")!
    kickUrl = URL(fileURLWithPath: kickPath!)
    kickAsset = WKAudioFileAsset(url: kickUrl!)
    kickItem = WKAudioFilePlayerItem(asset: kickAsset!)
    kick = WKAudioFilePlayer(playerItem: kickItem!)
}

@IBAction func kickButton() {
    switch kick.status {
    case .readyToPlay:
        kick.play()
        print("sound")
    case .failed:
        print("failed")
    case .unknown:
        print("unknown")
    }
}

Звук не воспроизводится, но я знаю, что он попадает в правый корпус переключателя, потому что он печатает "звук".

1 Ответ

0 голосов
/ 10 января 2019

То, что работало для меня, было использовать AVFoundation с AVAudioPlayer для звука вместо WKAudioFilePlayer, который я использовал. Он звучит через динамик часов, а также через наушники, если у вас подключен комплект Bluetooth.

...