Обновление nowPlayingInfo currentTime после звуковых циклов

    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

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

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

0 ответов

Другие вопросы по тегам