本文介绍了详解Android 语音播报实现方案(无SDK),分享给大家,具体如下:
功能描述
类似支付宝收款时候的语音播报功能:当别人扫描你的收款码,你收到钱之后,就会听到“支付宝到账12.55元”的语音播报。
要解决的问题
1.播放单个语音文件
2.播放完单个语音文件之后立即播放下一条,这样才能连续
3.当多个完整的语音序列都需要播报时的处理(比如支付宝短时间内收到多条收款推送)
实现思路
1、播放单个文件选择MediaPlayer
首先创建一个MediaPlayer实例
MediaPlayer player = new MediaPlayer();
然后设置数据源,这里数据源从assets中获取,当然也可以将语音文件放在raw文件夹里
fd = FileUtils.getAssetFileDescription(path);
player.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(),
fd.getLength());
然后调用prepareAsync()方法,异步加载,并设置监听,加载完毕之后开始播放(与prepare方法区别开来)
player.prepareAsync();
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
<