当先锋百科网

首页 1 2 3 4 5 6 7

JSON是一种轻量级的数据交换格式,通常用于前后端之间的数据传输。除了传递文本或数字等基本类型外,JSON也可以传递音频和视频等二进制数据。


{
   "audio": {
      "fileName": "my_audio.mp3",
      "fileData": "BASE64_ENCODED_AUDIO_DATA"
   }
}

json发送音频

上面的JSON代码演示了如何发送音频文件。其中,"fileName"表示音频文件的名称,"fileData"则使用Base64编码后的二进制数据。

在服务器端,我们可以使用以下代码将音频文件转换为Base64编码:


import base64

with open('my_audio.mp3', 'rb') as file:
    audio_data = file.read()
    encoded_audio_data = base64.b64encode(audio_data)

然后,将"fileName"和"encoded_audio_data"添加到JSON中并发送到客户端:


import json

audio_json = {
   "audio": {
      "fileName": "my_audio.mp3",
      "fileData": encoded_audio_data.decode('utf-8')
   }
}

json_str = json.dumps(audio_json)
# 发送json_str到客户端

在客户端,可以使用以下代码将Base64编码的音频数据解码并保存为音频文件:


import base64

audio_json = # 接收到的JSON数据
encoded_audio_data = audio_json['audio']['fileData'].encode('utf-8')

decoded_audio_data = base64.b64decode(encoded_audio_data)
with open(audio_json['audio']['fileName'], 'wb') as file:
    file.write(decoded_audio_data)

以上是使用JSON发送音频的基本流程,这种方式在一些需要实时传输音频的应用中非常实用。