1: Introducción a la escena
Los archivos de grabación M4A no se pueden reproducir en algunos dispositivos, por lo que es necesario convertirlos a MP3 para reproducirlos. Está bien utilizar herramientas de conversión en el mercado para registrar una pequeña cantidad, pero surgirán problemas si registra demasiado. Ahora hay 15G para convertir y algunos incluso cobran una tarifa.
2: preparación de herramientas
1. La conversión FFMPEG de código abierto utilizada aquí, descargarla e instalarla, agregar variables de entorno
2. Instale Python 3.5 y agregue variables de entorno
3. La herramienta de desarrollo es Pycharm recomendada para Python.
Tres: desventajas
El código actual no utiliza subprocesos múltiples y es relativamente lento.
Cuatro: iniciar el código
Aquí cargaré directamente el código escrito, siempre que FFmpeg esté instalado.
# Archivo MA4 a mp3 # _*_ codificación: utf-8 _*_ importar os importar multiprocesamiento como mp #Abrir el archivo fd =open('d:/testerror.txt','w') #Error al grabar el nombre del archivo de almacenamiento m4a_path = "D:/prueba de archivo de prueba/grabación de prueba/M4A/" # D:/prueba de archivo de prueba/grabación de prueba/M4A/Cao Guiyu/" dir_path = "D:/MP3/" # Carretera generada en MP3 Jinurl = " ffmpeg -i" #Obtener todos los archivos en el directorio actual def getALLDir(ruta,sp = ""): filesList = os.listdir(ruta) #Procesar cada archivo sp += " " para fileName en filesList: #Juzgar si un archivo es una unión de directorio (use ruta absoluta) para determinar el método de conexión fileAbsPath = os.path.join(path,fileName) if os.path.isdir(fileAbsPath): #Condición crítica: si no es un directorio, ejecute else print(sp + "Directorio:", nombre de archivo,"======", rutaAbsarchivo) fuente de ruta global pathdirsource= dir_path+fileName+"/" print("Dirección de empalme",pathdirsource) mkdir(pathdirsource) getALLDir(fileAbsPath,sp)# Llámese recursivamente a usted mismo, llámese a sí mismo de otra manera: #pool.apply_async(doWriteFile,(pathdirsource,fileName,fileAbsPath)) #fileprocess=Process(target=doWriteFile(pathdirsource,fileName,fileAbsPath)) #fileprocess.start() #print("process id===",fileprocess.pid) doWriteFile(pathdirsource,fileName,fileAbsPath) def doWriteFile(pathdirsource, fileName,fileAbsPath): intente: print("Dirección global", pathdirsource) strpile = fileName[0:-4] str = pathdirsource + "\"" + strpile + "\"" print(url + " " + "\"" + fileAbsPath.replace('\\', '/') + "\""" " + str + ".mp3") str = os.system(url + " " + "\"" + fileAbsPath + "\""" " + str + ".mp3") if str == 1: fd.write(fileAbsPath) # fd.close() print(str, "错误") else: print(str, "====") excepto: print("程序错误===") def mkdir(ruta): # 去除首位空格 path = camino.strip() # Eliminar el símbolo \ final path = path.rstrip("\\") # Determinar si la ruta existe # Existe True # No existe False isExists = os.path.exists(path) # Resultado del juicio si no existe isExists: # Si el directorio no existe, cree el directorio # Crear función de operación de directorio os.makedirs(ruta) print(ruta,'Creado exitosamente') return Verdadero de lo contrario: # Si el directorio existe, no lo haga créelo y le indicará que se ha creado el directorio Existe print(ruta + 'El directorio ya existe') return False if __name__ == '__main__': #Entrada del programa getALLDir(m4a_path) #La ruta que debe recorrerse