You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中从音频URL获取Base64编码?

音频URL转Base64编码的实现方法

下面是几种不同场景下可行的实现方案:

1. 前端浏览器环境(JavaScript)

直接在浏览器中通过Fetch API获取音频文件,再通过FileReader转换为Base64:

async function audioUrlToBase64(url) {
  try {
    const response = await fetch(url);
    const blob = await response.blob();
    return new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.onloadend = () => resolve(reader.result); // 结果包含"data:audio/mpeg;base64,"前缀
      reader.onerror = reject;
      reader.readAsDataURL(blob);
    });
  } catch (error) {
    console.error('转换失败:', error);
    throw error;
  }
}

// 使用示例
audioUrlToBase64('http://awexsoft.rf.gd/testing/test.mp3')
  .then(base64Str => console.log(base64Str))
  .catch(err => console.error(err));

2. Python 脚本实现

使用requests库获取音频二进制内容,再通过base64模块编码:

import requests
import base64

def audio_url_to_base64(url):
    try:
        response = requests.get(url)
        response.raise_for_status() # 检查请求是否成功
        # 编码为Base64字符串,可选添加data URI前缀
        base64_str = base64.b64encode(response.content).decode('utf-8')
        # 如果需要带MIME类型前缀:
        # base64_str = f"data:audio/mpeg;base64,{base64_str}"
        return base64_str
    except Exception as e:
        print(f'转换失败: {e}')
        raise e

# 使用示例
result = audio_url_to_base64('http://awexsoft.rf.gd/testing/test.mp3')
print(result)

注意:运行前需先安装依赖pip install requests

3. 命令行(Linux/macOS)

用curl获取音频内容,管道给base64命令直接输出编码结果:

curl -s "http://awexsoft.rf.gd/testing/test.mp3" | base64

如果需要生成带MIME前缀的完整data URI:

echo -n "data:audio/mpeg;base64," && curl -s "http://awexsoft.rf.gd/testing/test.mp3" | base64

内容的提问来源于stack exchange,提问作者Dile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:33:30