如何在电影中以字节形式输入音频



我有以下形式的音频作为字节:

b'ID3x04x00x00x00x00x00#TSSEx00x00x00x0fx00x00x03Lavf57.71.100x00x00x00x00x00x00x00x00x00x00x00xff...

我从亚马逊网络服务得到的:

import boto3
client = boto3.client('polly')
response = client.synthesize_speech(
Engine='neural',
LanguageCode='en-GB',
OutputFormat='mp3',
SampleRate='8000',
Text='hey whats up this is a test',
VoiceId='Brian'
)

我想使用

AudioFileClip()

AudioFileClip 采用文件名或表示声音的数组。我知道我可以将音频另存为文件并读取它,但我想让 AudioFileClip 获取我上面显示的字节输出。

我试过了:

AudioFileClip(response['AudioStream'].read())

但这给出了错误:

类型错误:结束与第一个参数必须是字节或字节元组,而不是 str

我能做什么?

您需要将音频流转换为其他类型。(这就是为什么它被称为TypeError(。你把它作为一个字符串,它想要一个字节格式。

您可以使用字节数组函数将 str 转换为字节! https://docs.python.org/3/library/functions.html#func-bytearray

你也可以看看这个问题: 在 Python 3 中将字符串转换为字节的最佳方法?

如需更多帮助,请对此发表评论,我会尽快为您提供帮助。

希望这可以帮助您完成项目,

PythonMasterLua

最新更新