繁体   English   中英

python 从 blob 获取音频持续时间

[英]python get audio duration from blob

我的问题类似于Get.wav 文件长度或持续时间

  1. 在 js 前端使用MediaRecorder录制音频
  2. 将 blob 发送到后端

我想应用30 seconds 的长度限制,但我只有一个 blob,应该存储在 django BinaryField中。


因为在后端我不想在每个请求中创建一个文件,我只想访问音频的长度,我很感激你的建议。

您想使用io package 为您的内存数据提供与其他库(如wave )类似的文件接口。

下面的一个例子:

from io import BytesIO

with open("sample.wav", "rb") as f:
  blob = f.read()

data = BytesIO(blob)

然后可以将data视为任何 wav 文件:

import wave
import contextlib

with contextlib.closing(wave.open(data,'r')) as f:
    frames = f.getnframes()
    rate = f.getframerate()
    duration = frames / float(rate)
    print(duration)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM