簡體   English   中英

如何使用Pyglet顯示音頻的當前時間和持續時間?

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

我是Python新手-Pyglet和Stackoverflow。 我想知道如何在Pyglet中顯示當前播放時間和音頻的總持續時間。 Pyglet Docs中清楚地給出了它,但是我沒有確切地理解如何正確使用它。 因此,我想尋求幫助。 通過顯示一個示例會容易得多。 謝謝!

這是我的代碼。

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()

(對不起,英語不好)

簡短的答案是:

current_time = player.time

這將給出/存儲當前播放音頻的時間。
您可以根據自己的意願來處理此信息,我想您想將其添加到標簽或其他內容中。

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

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

但是,長的答案是,不要混用您的庫。

Pyglet非常適合2D / 3D渲染,因為您可以很好地連接到GL庫。
Pyglet不能做得很好的是Audio(甚至支持它)。

另一方面,Tkinter不執行任何操作,而是提供按鈕和其他“小部件”。

我建議在使用mpg321通過python播放音樂的方式下,使用其他任何庫來使用tkinter播放音頻。

如果您在Windows上,則可以使用Snack Sound Toolkit或winsound。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM