1
This commit is contained in:
parent
76b4647c11
commit
bb6be55370
72
app.py
Normal file
72
app.py
Normal file
@ -0,0 +1,72 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
"""
|
||||
拖单个音频倍速
|
||||
|
||||
"""
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def get_files(path):
|
||||
res = []
|
||||
r = os.listdir(path) # 列出文件夹下所有的目录与文件
|
||||
for i in r:
|
||||
file_path = os.path.join(path, i)
|
||||
if os.path.isfile(file_path) and file_path.endswith('mp3'):
|
||||
if re.match(r'.*x[\d\.]+\.mp3$', file_path):
|
||||
continue
|
||||
res.append(file_path)
|
||||
return res
|
||||
|
||||
|
||||
def a_speed(input_file, speed, out_file):
|
||||
try:
|
||||
cmd = "ffmpeg.exe -y -i %s -filter_complex \"atempo=tempo=%s\" %s" % (input_file, speed, out_file)
|
||||
res = subprocess.call(cmd, shell=True)
|
||||
|
||||
if res != 0:
|
||||
return False
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
|
||||
def change_speed(file, x, error_info):
|
||||
res = a_speed(file, x, re.sub(r'(\.mp3$)', f'_x{x}.mp3', file))
|
||||
if not res:
|
||||
error_info.append(f'{file} to {x} error')
|
||||
|
||||
|
||||
def handler_file(file):
|
||||
error_info = []
|
||||
change_speed(file, '1.5', error_info)
|
||||
change_speed(file, '3', error_info)
|
||||
print('*' * 20)
|
||||
for i in error_info:
|
||||
print(i)
|
||||
|
||||
|
||||
def handler_dir(root_dir):
|
||||
files = get_files(root_dir)
|
||||
error_info = []
|
||||
for file in files:
|
||||
change_speed(file, '1.5', error_info)
|
||||
change_speed(file, '3', error_info)
|
||||
|
||||
print('*' * 20)
|
||||
for i in error_info:
|
||||
print(i)
|
||||
|
||||
|
||||
def run(path):
|
||||
if os.path.isfile(path):
|
||||
handler_file(path)
|
||||
else:
|
||||
handler_dir(path)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
path = sys.argv[1]
|
||||
run(path)
|
BIN
ffmpeg.exe
Normal file
BIN
ffmpeg.exe
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user