使用pydub库操作与二进制音频数据互转

一、二进制数据转AudioSegment对象

python 复制代码
binary_data = b'...'  # 二进制音频数据
combined_audio = AudioSegment.from_file(io.BytesIO(binary_data))

二、AudioSegment对象转二进制数据

python 复制代码
    binary_data = b'...'  # 二进制音频数据
    combined_audio = AudioSegment.from_file(io.BytesIO(binary_data))

    # 直接获取二进制字节数据时,会缺失44个头部说明字节,我们需要补全
    # 获取二进制字节数据
    raw_audio = combined_audio.raw_data
    # 组装头部字节
    header = struct.pack('<4sI4s', b'RIFF', len(raw_audio) + 36, b'WAVE')
    header += struct.pack('<4sIHHIIHH', b'fmt ', 16, 1, combined_audio.channels, combined_audio.frame_rate,
                          combined_audio.frame_rate * combined_audio.channels * combined_audio.sample_width,
                          combined_audio.channels * combined_audio.sample_width, combined_audio.sample_width * 8)
    header += struct.pack('<4sI', b'data', len(raw_audio))

    # 添加上头部字节
    binary_data_comeback = header + raw_audio
    # 此时binary_data_comeback 跟 binary_data是完全相同的。
相关推荐
千里马学框架15 分钟前
安卓15 audio新专题发布:安卓系统手机车机音频audio子系统深入实战开发专题
android·智能手机·音视频
余(18538162800)2 小时前
手机版碰一碰发视频源码搭建,技术实现与实操指南
智能手机·音视频
AirDroid_cn5 小时前
苹果手机文本转音频,自行制作背诵素材
智能手机·音视频
Antonio9155 小时前
【音视频】火山引擎实时、低延时拥塞控制算法的优化实践
音视频·火山引擎
微瑟秋风7 小时前
Python应用——ffmpeg处理音视频的常见场景
python·ffmpeg
WSSWWWSSW11 小时前
警告:OPENCV_FFMPEG_READ_ATTEMPTS (current value is 4096)
人工智能·opencv·ffmpeg
A尘埃13 小时前
FFmpeg音视频处理解决方案
ffmpeg·音视频
AidLux14 小时前
犀牛派A1上使用Faster Whisper完成音频转文字
人工智能·语言模型·whisper·音视频
Industio_触觉智能1 天前
瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略
ffmpeg·开发板·嵌入式开发·瑞芯微·视频解码·rk3576·rk3576j
Font Tian1 天前
FFmpeg 不同编码的压缩命令详解
ffmpeg·音视频·视频编解码·视频·视频压缩