Обновление nowPlayingInfo currentTime после звуковых циклов - PullRequest
0 голосов
/ 16 декабря 2018
    try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default);
    try? AVAudioSession.sharedInstance().setActive(true);

    let path = Bundle.main.path(forResource: "sample", ofType: "mp3")!
    let player = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: path))
    player.numberOfLoops = -1;
    player.play();

    let commandCenter = MPRemoteCommandCenter.shared()
    commandCenter.playCommand.addTarget { _ in
        player.play()
        return .success
    }
    commandCenter.pauseCommand.addTarget { _ in
        player.pause()
        return .success
    }

    var nowPlayingInfo = [String : Any]()
    nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = player.currentTime
    nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = player.duration
    MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo

Приведенный выше код зацикливает звук бесконечно.Однако на элементе управления экрана блокировки время дорожки застревает в конце дорожки (вместо сброса), когда дорожка завершает цикл:

enter image description here

Как обновить текущее время на треке, отображаемое nowPlayingInfo?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...