实现分割音频

**目的:**将一个音频分割成等时长的小音频

一开始借鉴这个,但是只能实现剪切前几秒的音频,不能满足需要。
https://www.zhangxinxu.com/wordpress/2020/07/js-audio-clip-copy-upload/

由于目前在vue中解决不了直接将分割音频,所以采用其他方式,用python+ffmpeg写接口实现

主要代码:

# 支持mp3、wav、ogg、flac、amr、ac3  
# 不支持 mp4\wma\aac
from fileinput import filename
from pydub import AudioSegment
from pydub.utils import make_chunks
import os
file_dir = ".\handleAudio\\"
# 获取要分割的名称和格式
def file_name(file_dir):  
  for root, dirs, files in os.walk(file_dir): 
    global  filename
    global  filetype
    global file
    file = files[0]
    filename = files[0].split(".")[0]
    filetype = files[0].split(".")[1]
    
file_name(file_dir)
url = ".\handleAudio\\" + file
audio = AudioSegment.from_file(url, filetype)
cutTime = 60000  ##切割的毫秒数

##将文件切割为CutTimeDef秒一块
chunks = make_chunks(audio, cutTime)  

for i, chunk in enumerate(chunks):
    ##枚举,i是索引,chunk是切割好的文件
    newName = filename + "_{0}." + filetype;
    chunk_name = newName.format(i)
    print(chunk_name)
    ##保存文件
    chunk.export(".\cutAudio\\" + chunk_name, format=filetype)

这个实现需要依赖外部插件ffmpeg,这个直接下载代码,放在项目中,并且配置文件
在这里插入图片描述
借鉴网址
https://blog.csdn.net/qq_41661056/article/details/102930764

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值