使用tkinter的Python音频浏览器和使用pygame的音频播放

使用tkinter的Python音频浏览器和使用pygame的音频播放,python,audio,tkinter,pygame,Python,Audio,Tkinter,Pygame,我有一个python脚本,当按下tkinter按钮时,它会从用户选择的计算机播放声音文件。现在,我想将使用tkinter中的filedialog浏览的声音文件放入一个变量中,该变量不仅可以通过另一个tkinter按钮作为命令进行访问,还可以让pygame接收按键输入以播放用户选择的声音 因此,用户有一个浏览器声音按钮来搜索声音文件,然后他可以使用tkinter中的另一个按钮播放声音,或者他可以按计算机中的一个键(例如p键)播放所选的声音。 我附上我的代码以寻求帮助。谢谢你的帮助 import p

我有一个python脚本,当按下tkinter按钮时,它会从用户选择的计算机播放声音文件。现在,我想将使用tkinter中的filedialog浏览的声音文件放入一个变量中,该变量不仅可以通过另一个tkinter按钮作为命令进行访问,还可以让pygame接收按键输入以播放用户选择的声音

因此,用户有一个浏览器声音按钮来搜索声音文件,然后他可以使用tkinter中的另一个按钮播放声音,或者他可以按计算机中的一个键(例如
p
键)播放所选的声音。 我附上我的代码以寻求帮助。谢谢你的帮助

import pygame
from tkinter import *
from tkinter import filedialog

pygame.mixer.init(frequency=44100, size=-16, channels=2, buffer=512)
pygame.init()

root = Tk()

audio_file_name1 = ''

def open_masker1():
    global audio_file_name1
    audio_file_name1 = filedialog.askopenfilename(filetypes=(("Audio Files", ".wav .ogg"),   ("All Files", "*.*")))

def playsound1():
    # we will also use the audio_file_name global variable
    global audio_file_name1

    if audio_file_name1:  # play sound if just not an empty string
        noise = pygame.mixer.Sound(audio_file_name1)
        noise.play()

b1 = Button(root, text = 'open file',command = open_masker1)  # browser button 1
b1.pack(anchor=CENTER)

p1 = Button(root, text = 'Som1', command = playsound1)  # playsound1
p1.pack(anchor=W)

root.mainloop()