tts.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. const AK = "w9ZOquIKYkXHXuUGRcsiDAkG";
  2. const SK = "zdcmzzDQOw3nSq1wUh0pSNfMqgO1CpQf";
  3. export function getBaiduTTSUrl(text, token) {
  4. const url =
  5. `https://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=abcdggg&tok=${token}&tex=${encodeURIComponent(text)}&vol=5&per=0&spd=5&pit=5&aue=3`;
  6. // console.log('生成的TTS URL:', url); // 重点检查这个URL里的tok=后面是否有值
  7. return url;
  8. }
  9. export function getBaiduTTSAccessToken() {
  10. return new Promise((resolve, reject) => {
  11. uni.request({
  12. url: "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" +
  13. AK + "&client_secret=" + SK,
  14. method: "POST",
  15. success: (res) => {
  16. // 增加对返回数据的健壮性检查
  17. if (res.data && res.data.access_token) {
  18. resolve(res.data.access_token);
  19. } else {
  20. // 如果百度接口返回了错误信息(例如AK/SK错误)
  21. reject(new Error('获取token失败: ' + (res.data.error_description || JSON.stringify(
  22. res.data))));
  23. }
  24. },
  25. fail: (error) => {
  26. console.error('请求Token接口失败:', error);
  27. reject(error);
  28. },
  29. });
  30. });
  31. }