作者:摩羯参议院1314 | 来源:互联网 | 2023-09-15 02:19
本文主要介绍关于mysql,数据库,database的知识点,对【实现分割音频】和【剪映音频怎么分割不了】有兴趣的朋友可以看下由【晓不点】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的vue相关
本文主要介绍关于mysql,数据库,database的知识点,对【实现分割音频】和【剪映音频怎么分割不了】有兴趣的朋友可以看下由【晓不点】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的vue相关技术问题。
剪映音频怎么分割不了
**目的:**将一个音频分割成等时长的小音频
一开始借鉴这个,但是只能实现剪切前几秒的音频,不能满足需要。
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
本文《实现分割音频》版权归晓不点所有,引用实现分割音频需遵循CC 4.0 BY-SA版权协议。