Skip to content

Instantly share code, notes, and snippets.

@BruceZhang1993
Created January 21, 2022 15:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BruceZhang1993/ad02bc69e81195b47c9866a2f42b7b29 to your computer and use it in GitHub Desktop.
Save BruceZhang1993/ad02bc69e81195b47c9866a2f42b7b29 to your computer and use it in GitHub Desktop.
a demo for windows now playing (winrt)
import time
from winrt.windows.foundation import Uri, TimeSpan
from winrt.windows.media import SystemMediaTransportControls, MediaPlaybackStatus, \
SystemMediaTransportControlsDisplayUpdater, MediaPlaybackType, SystemMediaTransportControlsTimelineProperties
from winrt.windows.media.playback import MediaPlayer
from winrt.windows.storage.streams import RandomAccessStreamReference
if __name__ == '__main__':
player = MediaPlayer()
controls: SystemMediaTransportControls = player.system_media_transport_controls
updater: SystemMediaTransportControlsDisplayUpdater = controls.display_updater
timeline = SystemMediaTransportControlsTimelineProperties()
# player.command_manager.is_enabled = False
controls.is_play_enabled = True
controls.is_pause_enabled = True
controls.is_next_enabled = True
controls.is_previous_enabled = True
controls.playback_status = MediaPlaybackStatus.PLAYING
updater.type = MediaPlaybackType.MUSIC
updater.music_properties.artist = 'Test Artist'
updater.music_properties.title = 'Test Title'
updater.music_properties.album_title = 'Test Album'
updater.thumbnail = RandomAccessStreamReference.create_from_uri(Uri(
'https://img.moegirl.org.cn/common/3/3b/%E9%80%8F%E6%98%8E%E7%AB%8B%E7%BB%98.png'))
updater.update()
timeline.start_time = TimeSpan(0)
timeline.end_time = TimeSpan(100)
timeline.min_seek_time = TimeSpan(0)
timeline.max_seek_time = TimeSpan(100)
timeline.position = TimeSpan(0)
controls.update_timeline_properties(timeline)
position = 0
while position < 100:
time.sleep(1)
position += 1
timeline.position = TimeSpan(position)
player.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment