Python 如何解决';设置_pos()';pygame中的编解码器错误不受支持?
我做了一个项目,我需要在python脚本中使用“set_pos()”函数,但它在编解码器中给出了一个不受支持的错误 这是我的密码:Python 如何解决';设置_pos()';pygame中的编解码器错误不受支持?,python,tkinter,pygame,Python,Tkinter,Pygame,我做了一个项目,我需要在python脚本中使用“set_pos()”函数,但它在编解码器中给出了一个不受支持的错误 这是我的密码: #code fast_forward_icon= tk.PhotoImage(file=__file__+ '/../images/JPEG, PNG/icons/fast_forward.png') def fast_forward(event=None): def func(): global progressbar_music
#code
fast_forward_icon= tk.PhotoImage(file=__file__+ '/../images/JPEG, PNG/icons/fast_forward.png')
def fast_forward(event=None):
def func():
global progressbar_music
current_song_Length = mixer.music.get_pos()//1000
print(current_song_Length)
# mixer.music.pause()
f= current_song_Length+10
mixer.music.set_pos(f)
progressbar_music['value']=f
# mixer.music.progressbar_music(seconds=current_song_Length+10)
progressbar_music_starttime.configure(text='{}'.format(str(datetime.timedelta(seconds=f))))
progressbar_music.after(2,func)
func()
fastForwardBtn = Button(root, bg='#310A3D', image=fast_forward_icon, command=fast_forward)
我的错误:
Tkinter回调回溯中出现异常(最近一次调用最后一次):文件 “C:\Users\soham\AppData\Local\Programs\Python\Python36\lib\tkinter\u init\uu.py”, 第1702行,在调用中 返回self.func(*args)文件“C:\Users\soham\AppData\Local\Programs\Python\Python36\lib\tkinter\u init\uuuz.py”, 第746行,卡利特 func(*args)文件“e:/python项目/MUSIC PLAYER/MUSIC_PLAYER.py”,第346行,在func中 mixer.music.set_pos(f)pygame.error:此编解码器不支持set_pos
一种简单的方法是使用
pydub
库,通过python-m pip install pydub
一次性安装它。我编写的下一个函数接受MP3字节(或任何其他音频格式)并返回WAV字节(或由format='…'
参数表示的任何其他格式),该函数不使用任何文件系统(所有操作都在内存中完成)
mytest.mp3的输出:
5249464624D0110357415645666D7420100000000100020044AC000010B10200
另一种方法是在我的下一个解决方案中使用FFMpeg
我编写了下一个函数conv_aud()
,它可以将任何音频格式转换为任何其他格式,事实上它也可以转换视频
默认情况下,如果未提供格式,则会将MP3转换为WAV
功能使用,安装一次。此外,如果它位于不在PATH系统变量中的dir内,则应为函数conv_aud()
提供参数ffmpeg='c:/PATH/to/ffmpeg.exe'
函数接受输入音频的字节数据或输入文件的str路径或任何打开读取的类似文件的对象。它还接受输入格式字符串的ifmt
参数,如'mp3'
,和/或接受输出格式字符串的ofmt
参数,如'wav'
函数返回WAV的字节数据
函数使用中间临时目录和退出时删除的文件。此外,该函数还可以在出现错误时打印FFMpeg的错误输出。若有错误,那个么函数是静默的,不打印任何内容
在代码的末尾有一个test()
函数,它使用test.mp3
文件作为输入来测试调用函数的不同方式
我的test.mp3
文件的输出:
5249464654D0110357415645666D7420100000000100020044AC000010B10200
5249464654D0110357415645666D7420100000000100020044AC000010B10200
5249464654D0110357415645666D7420100000000100020044AC000010B10200
一种简单的方法是使用pydub
库,通过python-m pip install pydub
一次性安装它。我编写的下一个函数接受MP3字节(或任何其他音频格式)并返回WAV字节(或由format='…'
参数表示的任何其他格式),该函数不使用任何文件系统(所有操作都在内存中完成)
mytest.mp3的输出:
5249464624D0110357415645666D7420100000000100020044AC000010B10200
另一种方法是在我的下一个解决方案中使用FFMpeg
我编写了下一个函数conv_aud()
,它可以将任何音频格式转换为任何其他格式,事实上它也可以转换视频
默认情况下,如果未提供格式,则会将MP3转换为WAV
功能使用,安装一次。此外,如果它位于不在PATH系统变量中的dir内,则应为函数conv_aud()
提供参数ffmpeg='c:/PATH/to/ffmpeg.exe'
函数接受输入音频的字节数据或输入文件的str路径或任何打开读取的类似文件的对象。它还接受输入格式字符串的ifmt
参数,如'mp3'
,和/或接受输出格式字符串的ofmt
参数,如'wav'
函数返回WAV的字节数据
函数使用中间临时目录和退出时删除的文件。此外,该函数还可以在出现错误时打印FFMpeg的错误输出。若有错误,那个么函数是静默的,不打印任何内容
在代码的末尾有一个test()
函数,它使用test.mp3
文件作为输入来测试调用函数的不同方式
我的test.mp3
文件的输出:
5249464654D0110357415645666D7420100000000100020044AC000010B10200
5249464654D0110357415645666D7420100000000100020044AC000010B10200
5249464654D0110357415645666D7420100000000100020044AC000010B10200
尝试将声音文件转换为不同类型的WAV
音频格式应该很容易支持设置位置,像您这样的一些其他格式可能不支持设置为随机位置,因此您需要转换为WAV
。先生,如何在代码中将mp3转换为wav音频格式并在python队列中将其导出而不保存在磁盘中?@sdbdarknija用于将mp3转换为wav,甚至将任何音频格式转换为任何其他格式。尝试将声音文件转换为其他类型wav
音频格式应轻松支持设置位置,像您这样的一些其他格式可能不支持设置为随机位置,因此您需要转换为WAV
。先生,我如何在代码中将mp3转换为WAV音频格式并将其导出到python队列中而不保存在磁盘中?@sdbdarknija用于将mp3转换为WAV,或者任何音频格式到任何其他格式。我想得到这个解决方案,先生,我试过了,但它不起作用,如果它不起作用,那么我没有问题,我只想为我的音乐播放器制作一个快进按钮,如果你能解决我的问题,我将非常高兴problem@SDBDARKNINJA好的,我现在试着解决你的另一个问题,我会在那里回复。@SDBDARKNINJA我解决了你的第二个任务。谢谢你,先生,我会尝试并通知你我想得到这个问题的解决方案,先生,我已经尝试过了,但它不起作用如果它不起作用,那么我没有问题,我只想为我的音乐播放器制作一个快进按钮,如果你解决了我的问题,我会非常高兴problem@SDBDARKNINJA好啊我现在将尝试解决您的另一个问题,我将在那里回答。@sdbdarknija我解决了您的第二个任务。谢谢您,先生。我将尝试并通知您