Активное воспроизведение звука Apple Watch при выключенном экране и использование цифровой короны для увеличения громкости - PullRequest
0 голосов
/ 16 апреля 2020

Мой друг строит онлайн-радиостанцию, и я разработал приложение для iOS, которое позволит пользователям прослушивать станцию ​​через их iOS устройства.

Я создал версию Apple Watch с простой кнопкой Play & Pause, которая прекрасно работает, но когда экран выключен или нажата цифровая корона, звук исчезает и останавливается, и приложение необходимо снова открыть, а кнопку воспроизведения снова нажать, чтобы запустить поток.

Также цифровая корона, я хотел бы отрегулировать громкость звука, но в настоящее время ничего не делает.

Вот мой код:

import WatchKit
import Foundation
import AVFoundation


class InterfaceController: WKInterfaceController {

    var player:AVPlayer?
    var playerItem:AVPlayerItem?

    @IBOutlet weak var playButton: WKInterfaceButton!
    @IBOutlet weak var pauseButton: WKInterfaceButton!


    override func awake(withContext context: Any?) {
        super.awake(withContext: context)

        // Configure interface objects here.

    }

    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()

        let url = URL(string: "http://sc3.radiocaroline.net:8030/listen.m3u")
        let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
        player = AVPlayer(playerItem: playerItem)
    }

    override func didDeactivate() {
        // This method is called when watch view controller is no longer visible
        super.didDeactivate()

    }

    @IBAction func playButtonPressed() {

        print("Play Button Pressed")
        playButton.setHidden(true)
        pauseButton.setHidden(false)

        let url = URL(string: "http://sc3.radiocaroline.net:8030/listen.m3u")
        let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
        player = AVPlayer(playerItem: playerItem)

        player!.play()

    }


    @IBAction func pauseButtonPressed() {

        print("Pause Button Pressed")

        playButton.setHidden(false)
        pauseButton.setHidden(true)

        player!.pause()


    }
}
...