调用百度API,文字转语音

前言

文字转语音,运用在什么场景了?一般后台管理系统会用到,提示管理员有“新的订单”、“新的任务”等等,管理员可以马上收到,并及时处理。就好比,在餐厅,经常会听到“你有新的订单”。下面就来看看是如何做到的。

示例

首先我们需要用到百度API百度演示地址

JavaScript调用百度API,文字转语音

javascript实现起来其实很简单,请看

function audioPlay(text){
    var zhText = text;
    zhText = encodeURI(zhText);
    var audio = "<audio autoplay=\"autoplay\">" + "<source src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=" + zhText + "\" type=\"audio/mpeg\">" + "<embed height=\"0\" width=\"0\" src=\"http://tts.baidu.com/text2audio?text=" + zhText + "\">" + "</audio>";
    $('body').append(audio);
}
audioPlay('我是web秀');

 

<script src="http://cdn.javanx.cn/wp-content/themes/lensnews2.2/js/jquery.min.js?ver=3.1.1"></script>

 

可以复制到在线coding,运行,需引入jquery。

参数说明

  • spd: 控制说话语速(0-15),数字越大语速越快
  • lan: 固定值zh。语言选择,目前只有中英文混合模式,填写固定值zh
  • pit: 音调,取值0-15,默认为5中语调
  • per: 发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声

估计我这里用的的老版本的,很多参数都已经失效,但是基本的还是OK,大家可以参考,用最新版的api来实现功能。

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是在 Android Studio 中调用百度 API 进行文字转语音的代码示例: 1. 在 build.gradle 中添加依赖: ``` implementation 'com.baidu.android:bd-speech:1.0.0.12' ``` 2. 在布局文件中添加一个按钮和一个 EditText: ``` <Button android:id="@+id/btn_speak" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Speak"/> <EditText android:id="@+id/et_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Input text to speak"/> ``` 3. 在 MainActivity.java 中添加以下代码: ```java import com.baidu.tts.client.SpeechSynthesizer; import com.baidu.tts.client.TtsMode; public class MainActivity extends AppCompatActivity { private Button btnSpeak; private EditText etText; private SpeechSynthesizer mSpeechSynthesizer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化按钮和 EditText btnSpeak = findViewById(R.id.btn_speak); etText = findViewById(R.id.et_text); // 初始化语音合成对象 mSpeechSynthesizer = SpeechSynthesizer.getInstance(); mSpeechSynthesizer.setContext(this); mSpeechSynthesizer.setAppId("your_app_id"); // 替换为自己的 App ID mSpeechSynthesizer.setApiKey("your_api_key"); // 替换为自己的 API Key mSpeechSynthesizer.setSecretKey("your_secret_key"); // 替换为自己的 Secret Key mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0"); // 设置为女声 mSpeechSynthesizer.initTts(TtsMode.MIX); // 初始化合成引擎 // 点击按钮进行语音合成 btnSpeak.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String text = etText.getText().toString(); mSpeechSynthesizer.speak(text); } }); } @Override protected void onDestroy() { super.onDestroy(); mSpeechSynthesizer.release(); // 释放合成引擎 } } ``` 注意替换 `setAppId`、`setApiKey` 和 `setSecretKey` 方法中的参数为自己在百度开发者平台申请的 App ID、API Key 和 Secret Key。此外,还可以通过 `setParam` 方法设置语音合成的参数,例如设置说话人和语速等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值