gpt4 book ai didi

android - 将 Base64 字符串转换为 .wav 文件

转载 作者:太空狗 更新时间:2023-10-29 14:06:19 31 4
gpt4 key购买 nike

我有一个网络服务,它返回音频 (.wav) 文件的 base64 编码字符串。我试过这段代码:

 private String base64StringToFile(String base64AudioData) {

String fullPath = null;

byte[] decoded = Base64.decode(base64AudioData,1);
//byte[] decoded = Base64.decode(encoded, 0);
Log.e("~~~~~~~~ Decoded: ", Arrays.toString(decoded));

try {
fullPath = FileManger.getttsSavePath()+"/"+("fTts.wav");
File file2 = new File(fullPath);
//File file2 = new File(Environment.getExternalStorageDirectory() + "/hello-5.wav");
FileOutputStream os = new FileOutputStream(file2, true);
os.write(decoded);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
return fullPath;
}

此代码创建了一个文件,但该文件不起作用。如果我将 wav 文件转换为 base64,然后使用这段代码,效果会很好。但它不适用于我在 api 响应中获得的字符串。该字符串没有任何问题,因为相同的字符串在 iOS 版本中有效。所以任何人都请帮助我。这是我从 Web 服务响应中获取的字符串。

PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8dGl0bGU+RXJyb3IgNDA2IHgtbnVhbmNlLXNlc3Npb25pZDE4ZWM1ZTQ3LTE4OGEtNGEyMS1hNWVjLWM3YjBjMWNlNjYyOApSZWNlaXZlZCBRdWVyeUVycm9yOiA1MTEgVm9pY2Ugbm90IGF2YWlsYWJsZS4gRm9yIGEgbGlzdCBvZiBhdmFpbGFibGUgdm9pY2VzLCBwbGVhc2Ugc2VlIHRoZSBEcmFnb24gTW9iaWxlIFNESyB3ZWJzaXRlLjwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+PGgyPkhUVFAgRVJST1IgNDA2PC9oMj4KPHA+UHJvYmxlbSBhY2Nlc3NpbmcgL05NRFBUVFNDbWRTZXJ2bGV0L3R0cy4gUmVhc29uOgo8cHJlPiAgICB4LW51YW5jZS1zZXNzaW9uaWQxOGVjNWU0Ny0xODhhLTRhMjEtYTVlYy1jN2IwYzFjZTY2MjgKUmVjZWl2ZWQgUXVlcnlFcnJvcjogNTExIFZvaWNlIG5vdCBhdmFpbGFibGUuIEZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIHZvaWNlcywgcGxlYXNlIHNlZSB0aGUgRHJhZ29uIE1vYmlsZSBTREsgd2Vic2l0ZS48L3ByZT48L3A+CjwvYm9keT4KPC9odG1sPgo=

最佳答案

解码您的响应数据,我们可以看到它实际上是一条错误消息:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 406 x-nuance-sessionid18ec5e47-188a-4a21-a5ec-c7b0c1ce6628
Received QueryError: 511 Voice not available. For a list of available voices, please see the Dragon Mobile SDK website.</title>
</head>
<body><h2>HTTP ERROR 406</h2>
<p>Problem accessing /NMDPTTSCmdServlet/tts. Reason:
<pre> x-nuance-sessionid18ec5e47-188a-4a21-a5ec-c7b0c1ce6628
Received QueryError: 511 Voice not available. For a list of available voices, please see the Dragon Mobile SDK website.</pre></p>
</body>
</html>

所以您的问题不在于编写 .wav 文件,而是您与服务器的通信(或服务器本身的问题)。

关于android - 将 Base64 字符串转换为 .wav 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181661/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com