Skip to content

ThanhHaiKhong/OPNowPlayingInfoCenter

Repository files navigation

This is a README.md file

private func setupNowPlaying() { do { try OPNowPlayingInfoCenter.shared.configureNowPlaying(commandHandler: handleRemoteCommand(:event:), interruptionHandler: handleInterruption(:)) try OPNowPlayingInfoCenter.shared.configureNowPlayingAudioSessionBegin() } catch { Logger.debug("Error configuring Now Playing Info Center: (error.localizedDescription)") } }

private func handleRemoteCommand(_ remoteCommand: OPNowPlayingInfoCenter.RemoteCommand, event: MPRemoteCommandEvent) -> MPRemoteCommandHandlerStatus { switch remoteCommand { case .pause: pause() case .play: play() case .stop: stop() case .togglePausePlay: isPlaying ? pause() : play() case .nextTrack: nextTrack() case .previousTrack: previousTrack() case .changePlaybackPosition: guard let event = event as? MPChangePlaybackPositionCommandEvent else { return .commandFailed }

    player.currentPlayerManager.seek(toTime: event.positionTime) { completed in
        
    }
default:
    break
}

return .success

}

private func handleInterruption(_ interruption: OPNowPlayingInfoCenter.Interruption) { switch interruption { case .began: pause() case .ended(let shouldPlay): if shouldPlay { play() } case .failed(let error): presentingError = error stop() } }

let nowPlayingInfo = OPNowPlayingInfoCenter.StaticInfo(mediaType: isVideoMode ? .video : .audio, title: track.title, artist: track.subtitle)

OPNowPlayingInfoCenter.shared.setupNowPlayingInfo(nowPlayingInfo) OPNowPlayingInfoCenter.shared.updateNowPlaying(assetURL: url, artwork: thumbnail)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages