当前位置: 首页 > news >正文

音频类型转换工具-可执行文件exe/dmg制作

朋友车载音乐需要MP3格式,想要个批量转换工具

准备工作

  1. brew install ffmpeg --HEAD或者官网下载安装ffmpeg并配置环境
  2. conda install ffmpeg 或者pip install ffmpeg-python

音频类型转换程序.py文件

exe文件在windows下打包,dmg在macos下打包,需要更换文件路径\\为/

# windows
# 获取文件夹中所有的文件名
def getFiles(path):import osfilenames = os.listdir(path)return filenamesdef trans_video_to_mp3(filePath,output_name,newType='mp3'):from pydub import AudioSegment# 读取数据文件song = AudioSegment.from_file(filePath)# 输出转换文件    song.export(output_name+'.'+str(newType), format=str(newType))song = None# 转换音频
def changeVideo(dataPath,newType=False):print('-------Start------')    import os# 如果是文件夹,则执行以下操作if os.path.isdir(dataPath):outputDir = r"" + dataPath + '\\..\\' + '输出'            # 如果输出文件夹不存在,则创建if not os.path.exists(outputDir):os.makedirs(outputDir) print('默认跳过.开头隐藏文件')    # 遍历文件夹中所有的文件,执行转换操作for file_name in getFiles(dataPath):if not file_name[0]=='.':# 生成文件路径filePath = r"" + dataPath + '\\' + file_nameprint('源文件路径', filePath)# 输出文件名    output_name = r"" + outputDir + '\\' + file_nameprint('输出文件路径', output_name)# 将数据文件转换到输出文件trans_video_to_mp3(filePath, output_name,newType)# 如果是一个文件则直接转换else:print('单个文件输出到同级目录下')output_name = os.path.splitext(dataPath)[0]         # 将数据文件转换到输出文件夹print('输出文件路径为 ', output_name+'.'+str(newType))trans_video_to_mp3(dataPath,output_name,newType) print('-----The  End-----')if __name__ == '__main__':       print('请将文件或目录地址输入控制台,然后回车')path = input("Enter your path: ")print('音频要转换为什么格式?')newType = input('Enter new type: ')changeVideo(path, newType if newType else 'mp3')

生成可执行文件

# 安装pipenv
pip install pipenv#建立虚拟环境
pipenv install
#进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)
pipenv shell
# 随时查看安装的包
pip list
#安装模块
pip install pydub 
#打包的模块也要安装,否则会调用原有的库依旧会关联很多无用库
pip install pyinstaller
# 打包
pyinstaller -F .py文件路径 --distpath 输出文件夹
# 退出虚拟环境
exit
# 删除虚拟环境
pipenv ––rm

  • 可以转换常见格式如:mp4、mp3、wav、flac等
  • 无法解码转换网易云QQ音乐下载的ncm、mgg等加密格式(um库被删了可以找找,bushi)
  • 视频转换后只有音频
    使用方式

相关文章:

  1. 【最新】windows电脑FFmpeg安装教程手把手详解
  2. 解决pyinstaller打包exe文件过大的问题

相关文章:

音频类型转换工具-可执行文件exe/dmg制作

朋友车载音乐需要MP3格式,想要个批量转换工具 准备工作 brew install ffmpeg --HEAD或者官网下载安装ffmpeg并配置环境conda install ffmpeg 或者pip install ffmpeg-python 音频类型转换程序.py文件 exe文件在windows下打包,dmg在macos下打包&#…...

【Proteus仿真】【51单片机】公交车报站系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD12864显示模块、DS18B20温度传感器、DS1302时钟模块、按键、LED蜂鸣器、ULN2003、28BYJ48步进电机模块等。 主要功能: 系统运行后&…...

C++--STL总结

参考教程:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 软件界一直希望建立一种可重复利用的东西,C的面向对象和泛型编程思想,目的就是复用性的提升。 大多情况下,数据结构和算法都未能有一套标准,…...

Python----图像的手绘效果

图像的数组表示 图像是有规则的二维数据,可以用numpy 库将图像转换成数组对象 : from PIL import Image import numpy as np imnp.array(Image.open("D://np.jpg")) print(im.shape,im.dtype)结果: 图像转换对应的ndarray 类型是3 维数据&am…...

Android13集成paho.mqtt.android启动异常

项目中原依赖是: implementation(org.eclipse.paho:org.eclipse.paho.android.service:1.1.1) {exclude module: support-v4transitive true } implementation org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5在Android10系统运行正常,能够连接…...

STM框架之按键扫描新思路

STM框架之按键扫描新思路 引入代码展示思路分析 我们学习了定时器实现毫秒级/秒级任务框架,这期我们基于任务框架学习按键扫描新思路。 引入 在按键扫描的过程中,最重要的一步就是按键消抖,解决的方法最简单粗暴的就是先扫描一次按键状态&am…...

Linux服务器挂载另一台服务器的文件夹(mount)

我们实际应用中,会常遇到多个Linux服务器之间需要频繁共享文件,或者是一台服务器需要使用另一台服务器的闲置磁盘空间。最方便的方法就是挂载另一台linux文件夹(文件服务器),通俗理解为:当前服务器远程连接…...

剑指offer --- 用两个栈实现队列的先进先出特性

目录 前言 一、读懂题目 二、思路分析 三、代码呈现 总结 前言 当我们需要实现队列的先进先出特性时,可以使用栈来模拟队列的行为。本文将介绍如何使用两个栈来实现队列,并给出具体的思路和代码实现。 一、读懂题目 题目:用两个栈实现一…...

流媒体协议

◆ RTP(Real-time Transport Protocol),实时传输协议。 ◆ RTCP(Real-time Transport Control Protocol),实时传输控制协议。 ◆ RTSP(Real Time Streaming Protocol),实时流协议。 ◆ RTMP(Real Time Messaging Protocol),实时…...

ClickHouse的分片和副本

1.副本 副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。 Data Replication | ClickHouse Docs 1.1 副本写入流程 1.2 配置步骤 (1)启动zookeeper集群 (2&…...

C语言编程陷阱(五)

陷阱21:不要使用逗号运算符代替分号 C语言中,我们可以使用分号来结束一个语句,比如a = b;,这样可以让编译器知道语句的边界,以及执行的顺序。但是,如果我们想要在一个语句中执行多个表达式,就可以使用逗号运算符,比如a = (b = c, c + 1);,这样可以让编译器按照从左到右…...

chardet检测文件编码,使用生成器逐行读取文件

detect_encoding 函数使用 chardet 来检测文件的编码。然后,在 process_large_file 函数中,根据检测到的编码方式打开文件。这样,你就能够更准确地处理不同编码的文件。 import chardetdef detect_encoding(file_path):with open(file_path,…...

html所有标签和DOCTYPE的总结

一、DOCTYPE 1. 意义 DOCTYPE是一种标准通用标记语言的文档类型声明&#xff0c;告诉标准通用标记语言解析器它应该使用什么样的文档类型定义来解析文档。 2. 应用 现在&#xff0c;我们需要告诉标准通用标记语言解析器&#xff0c;我们接下去要用html来编写代码了。 <…...

2023年11月15号期中测验判断题(Java)

1-1 局部变量可以与成员变量重名。 正确答案&#xff1a;T 解释&#xff1a; 局部变量可以和成员变量重名&#xff0c;通常&#xff0c;为了区分局部变量和成员变量&#xff0c;会使用this关键字&#xff08;C称this指针&#xff0c;python是self关键字&#xff09;来特别声…...

基于 selenium 实现网站图片采集

写在前面 有小伙伴选题&#xff0c;简单整理理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式&#xff0c;是对…...

vue3相关内容

ref声明/赋值 操作基本类型数据 string number // 引入方法 import {ref} from vue // 声明变量 const name ref(A) // 修改值 name.value Breactive声明/赋值 操作引用类型数据 array object proxy不能直接赋值&#xff0c;会破坏响应式对象 // 引入方法 import {reacti…...

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):FreeRTOS移植

前言: 一般的GUI工程都需要一个操作系统,可能是linux,重量级的,也可能是FreeRTOS,轻量级的。 一句话理解那就是工程就是FreeRTOS task任务的集合。 一个main函数可以看到大框架: 很显然,除了第一个是硬件配置的初始化,中间最重要的部分就是要创建任务,把AWTK的应用…...

《洛谷深入浅出进阶篇》P1995 程序自动分析——并查集,离散化

上链接&#xff1a;P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1955 上题干&#xff1a; 首先给你一个整数t&#xff0c;代表t次操作。 每一次操作包含以下内容&#xff1a; 1.给你一个整数n&#xff0c;让…...

基于单片机的自动循迹小车(论文+源码)

1.系统设计 此次基于单片机的自动循迹小车的设计系统&#xff0c;结合循迹模块来共同完成本次设计&#xff0c;实现小车的循迹功能&#xff0c;其其整体框架如图2.1所示。其中&#xff0c;采用STC89C52单片机来作为核心控制器&#xff0c;负责将各个传感器等模块链接起来&…...

linux系统中安装python到指定目录

Linux系统中安装python 下载Python源码包 根据服务器系统和需要的Python版本&#xff0c;在Python官网下载对应的Python源码包。 安装依赖&#xff08;需要权限&#xff09; yum install gcc gcc-c patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel…...

【Python原生AOT编译2026权威指南】:基于CPython 3.15+的零依赖二进制生成实战(含性能提升237%实测数据)

第一章&#xff1a;Python原生AOT编译的演进脉络与2026技术定位Python长期以来以解释执行和字节码&#xff08;.pyc&#xff09;为核心运行范式&#xff0c;其动态特性虽赋予开发极大灵活性&#xff0c;却在启动延迟、内存占用与部署包体积方面持续面临挑战。原生AOT&#xff0…...

蓝桥杯备赛避坑指南:从校赛落选到国三逆袭的实战经验分享

蓝桥杯备赛避坑指南&#xff1a;从校赛落选到国三逆袭的实战经验分享 第一次参加蓝桥杯校赛时&#xff0c;我连最简单的编程题都没能完整写出。看着屏幕上仅完成的两道签到题和一堆未通过的测试用例&#xff0c;那种挫败感到现在都记忆犹新。但正是这次失败&#xff0c;让我后来…...

避坑指南:解决Livox Mid-360双雷达点云融合时坐标系错乱与IMU数据混杂问题

Livox Mid-360双雷达点云融合实战&#xff1a;坐标系校准与IMU数据分离全解析 当你在RViz中看到两个Livox Mid-360雷达的点云像醉酒的水母一样随机飘动&#xff0c;而IMU数据又像被搅拌机混合过的果汁——恭喜你&#xff0c;遇到了多传感器融合的经典难题。这不是简单的参数调整…...

从FGSM到DeepFool:六大对抗攻击算法实战解析与代码实现

1. 对抗攻击入门&#xff1a;为什么你的AI模型会被"骗"&#xff1f; 想象一下&#xff0c;你训练了一个能准确识别五种花卉的CNN模型&#xff0c;测试集准确率高达95%。但某天有人拿着张明显是玫瑰的图片&#xff0c;你的模型却坚定地认为是郁金香——这就是对抗攻击…...

VMware Unlocker:在非苹果硬件上运行macOS虚拟机的完整解决方案

VMware Unlocker&#xff1a;在非苹果硬件上运行macOS虚拟机的完整解决方案 【免费下载链接】unlocker 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker VMware Unlocker是一个开源工具&#xff0c;专门解决在非苹果硬件上使用VMware虚拟机运行macOS系统时的…...

GD32F30x串口DMA+空闲中断接收不定长数据,一个LED控制项目带你搞懂

GD32F30x串口DMA空闲中断实战&#xff1a;从零构建LED智能控制系统 在嵌入式开发中&#xff0c;串口通信就像设备的"嘴巴"和"耳朵"&#xff0c;而DMA技术则是解放CPU的"隐形助手"。想象一下这样的场景&#xff1a;你需要通过手机APP远程控制实验…...

ESP32无线心情记录仪设计与物联网应用

1. 基于ESP32的无线心情记录仪设计与实现1.1 项目背景与功能概述现代工程师工作压力大&#xff0c;情绪波动频繁&#xff0c;需要有效的情绪管理工具。本项目设计了一款基于无线射频技术的情绪记录装置&#xff0c;通过物理按键触发和云端数据记录的方式&#xff0c;帮助用户量…...

家常饺子·每家不一样

你家的馅&#xff0c;和我家的不一样 1. 食材清单&#xff08;家家都有&#xff09; 食材分类具体材料分量备注皮面粉3碗买现成的饺子皮也行水适量和面用馅猪肉馅1斤肥瘦三七开白菜或韭菜1把看你家爱吃什么姜末一点点葱花一小把盐1勺生抽1勺香油几滴 2. 核心步骤&#xff1a;…...

嵌入式C++ RAII互斥锁封装器MutexLocker详解

1. MutexLocker&#xff1a;嵌入式C RAII风格互斥锁封装器深度解析1.1 设计动机与工程价值在基于mbed RTOS&#xff08;现为Mbed OS中CMSIS-RTOS v2兼容层&#xff09;的嵌入式实时系统开发中&#xff0c;互斥量&#xff08;Mutex&#xff09;是保障多任务共享资源安全访问的核…...

Java 设计模式・策略模式篇:从思想到代码实现

一、行为型模式 在面向对象的世界里&#xff0c;如何优雅地组织对象间的交互、分配职责&#xff0c;是每一位开发者都会反复思考的问题。直接硬编码交互逻辑固然简单&#xff0c;但当业务复杂度上升、对象协作关系变得错综复杂时&#xff0c;这种方式就会让代码变得僵化、难以…...