简体   繁体   中英

How to show the current time and the duration of an audio using Pyglet?

I am new in Python - Pyglet and Stackoverflow. I would like know how to show the current playing time and the total duration of an audio in Pyglet. It is clearly given in Pyglet Docs but I don't excactly understood how to use it properly. So kindly I would like to request for help. It would be lot easier by showing an example. Thanks!

Here is my code..

from tkinter import*
import pyglet

root = Tk()

player = pyglet.media.Player()
song = "er.mp3"
src = pyglet.media.load(song)
player.queue(src)

def play():
    player.play()

def pause():
    player.pause()

button_1 = Button(root,text = "Play", command = play)
button_1.pack()
button_2 = Button(root,text = "Pause", command = pause)
button_2.pack()

root.mainloop()

(Sorry For Bad English)

Short answer is:

current_time = player.time

That will give/store the time of the currently playing audio.
What you do with this information is up to you, I assume you want to add it to a label or something.

v = StringVar()
Label(master, textvariable=v).pack()

# Probably in a event driven loop or something.
v.set(player.time)

However the long answer is, don't mix your libraries.

Pyglet is great for 2D/3D rendering since you can hook into the GL libraries pretty well.
What Pyglet does not do great is Audio (even tho it has support for it).

Tkinter on the other hand does nothing of these things but instead gives you buttons and other "widgets".

I would recommend using any other library under how to play music through python with mpg321 for playing audio with tkinter.

Either The Snack Sound Toolkit or winsound if you're on windows.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM