【SIS服务】语音合成的base64数据,怎么播报?
1、使用SIS服务,调用TTS、RTTS等API,可以获得base64数据,参考:https://support.huaweicloud.com/api-sis/sis_03_0111.html

2、以Java为例,将base64数据播放出来
import javax.sound.sampled.*;
import java.io.*;
import java.util.Base64;
public class Base64AudioPlayer {
public static void main(String[] args) {
// Base64编码的音频数据
String base64Audio = "UklGRuAAAAAAAAAAAAAAAAAA...";
try {
// 解码Base64数据
byte[] audioBytes = Base64.getDecoder().decode(base64Audio);
// 将解码后的数据转换为InputStream
InputStream inputStream = new ByteArrayInputStream(audioBytes);
// 使用AudioInputStream加载音频数据
AudioInputStream audioStream = AudioSystem.getAudioInputStream(inputStream);
// 获取音频格式
AudioFormat format = audioStream.getFormat();
// 获取数据行信息
DataLine.Info info = new DataLine.Info(Clip.class, format);
Clip clip = (Clip) AudioSystem.getLine(info);
// 打开音频流并播放
clip.open(audioStream);
clip.start();
// 等待音频播放完成
while (!clip.isRunning())
Thread.sleep(10);
while (clip.isRunning())
Thread.sleep(10);
// 关闭资源
clip.close();
audioStream.close();
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 点赞
- 收藏
- 关注作者
评论(0)