Android如何解决文字转语音播报的问题

1.网上的普遍解决方式

  1. TTS+语音引擎实现离线的语音播报的功能

  2. 下载百度,讯飞等厂家的离线SDK(收费)
    由于这个两个方式网上其他博主都讲的非常详细了我就不一一介绍了,贴一下他们的博客地址。

    1.https://www.jianshu.com/p/71b94e841ae2 如果你想解决的问题是用户既不想自己下载语音引擎,也不想在下载完引擎后再进行设置的操作。可以看看这个博客.
    2.https://www.cnblogs.com/zhaogaojian/p/9735036.html TTS的简单的使用
    3.可能会遇见的坑:speak failed: not bound to TTS engine 解决方案:https://blog.csdn.net/azhoup/article/details/90909220

2.我自己需求和解决方式

因为目标硬件不允许下载第三软件,所以第一种方案就放弃了,第二种收费就直接放弃了。在网上找了半天也没找到免费的SDK,好吧换思路,由于需要的文字转语音的文字都是固定的没有变化,所以想能不能先把这些文字转成音频,然后根据对应的内容播放相应的音频出来。

第一步:文字转音频(这类软件有很多在电脑上下载一个)

第二步:将音频放入到项目中(没有这个文件的话自己创建一个)
在这里插入图片描述
第三步:播放音频(到这一步就完成了。是不是很简单,我自己搞完的时候也震惊了。)

 //音频播放
    public void initMediaPlayer(String logicGrid){
        try {
            releaseMediaPlayer();
            String filename="t"+logicGrid;
            AssetFileDescriptor fd = getAssets().openFd(filename.trim()+".mp3");
            mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    private void releaseMediaPlayer() {
        if (mediaPlayer != null) {
            mediaPlayer.release();
            mediaPlayer = null;
        }
    }

3.总结

有些时候不要把问题想得太复杂,会容易打击自己的自信心,特别是刚开始学习编程的时候。有时候,换一个思路,换一种方法,虽然它是一个没有什么技术含量的方法,但是能够解决问题就是个好方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值