python多线程截取音频文件片段,输出指定比特率的mp3文件,很好用

2022-10-03 08:58:53

比如,有许多mp3文件,每个文件前都有一段固定时间长度的广告,我想把讨厌的广告批量处理掉,然后在另外一个文件夹内批量的生成指定比特率的mp3文件,我该怎么办?
在这里插入图片描述
完成后,生成转换后的文件夹。
在这里插入图片描述

经苦心研究,得出以下程序。来,上才艺!

from pydubimport AudioSegmentimport osfrom multiprocessingimport Pooldefworker(filename):###定义工作函数try:
        path=r'D:\\桌面\\郝万山讲中医内科\\测试\\'# print(path)
        path_out= path+'转换后\\'print(path_out)ifnot os.path.exists(path_out):
            os.mkdir(path_out)
        used_name= path+ filenameprint(used_name)## 因为文件名里面包含了文件的后缀,所以重命名的时候要加上
        new_name= path_out+ filename
        input_music= AudioSegment.from_mp3(used_name)# 截取音频后31000毫秒 = 31秒
        output_music= input_music[31000:]# 保存音频,指定音频比特率为64k
        output_music.export(new_name, bitrate="64k")print(new_name+'完成!')except:## 跳过一些系统隐藏文档passif __name__=='__main__':
    path=r'D:\\桌面\\郝万山讲中医内科\\测试\\' 
    converted_count=0
    convertlist=[]for filenamein os.listdir(path):if filename.endswith(".mp3"):
            convertlist.append(filename)
            converted_count+=1# print(convertlist)#多线程语句(我也不会,直接照搬别人的,竟然成功啦)
    p= Pool(processes=min(converted_count, os.cpu_count()))
    p.map(worker, convertlist)
  • 作者:最懂编程的医生
  • 原文链接:https://blog.csdn.net/weixin_40901505/article/details/121132061
    更新时间:2022-10-03 08:58:53