Android实现收款成功金额的语音播报功能(Nice tone) - Go语言中文社区

Android实现收款成功金额的语音播报功能(Nice tone)


推荐文章:
Android实现购物车页面及购物车效果(点击动画)
Android自定义收银键盘(原创)

a1.jpg

Github源码下载地址

我的简书地址

Gradle依赖 -

1.最app外层的build.gradle 添加代码:

allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

2.在app 的build.gradle中添加:

dependencies {
        compile 'com.github.javaexception:VoiceAnnouncements:v1.0'
}

使用方法 -

VoiceUtils.with(this).Play("1111",true);

如果是true播报语音为"收款成功+收款金额",如果是false只播报收款金额.

播报语速的调控问题,现在因为只能支持Android6.0以上的,所以代码我没添加,等解决后一起更新.

附上一些代码:

public  void PlaySoundList( final int soundindex, final String soundString, final int soundcount){
       boolean createState=false;
    if(mediaPlayer==null) {
        mediaPlayer = null;
    }
    System.out.println("加载音频["+soundindex+"]");
    mediaPlayer = createSound(soundindex,soundString);
    createState=true;

    if(createState==true)
        System.out.println("加载音频成功["+soundindex+"]");
    else
        System.out.println("加载音频失败["+soundindex+"]");

    //播放完成触发此事件
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();//释放音频资源
            int newsoundindex =soundindex;
            System.out.println("释放资源[" +soundindex+"]");
            if(soundindex<soundcount) {
                newsoundindex=newsoundindex+1;
                PlaySoundList(newsoundindex, soundString,soundcount);
            }

        }
    });
    try {
        //在播放音频资源之前,必须调用Prepare方法完成些准备工作
        if(createState)
            mediaPlayer.prepare();
        else
            mediaPlayer.prepare();
        //开始播放音频
        mediaPlayer.start();
        System.out.println("播放音频["+soundindex+"]");
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public  MediaPlayer createSound(int soundIndex, String soundString){
    MediaPlayer mp=null;
    String soundChar = soundString.substring(soundIndex-1,soundIndex);

    switch (soundChar)
    {
        case "零":
            mp=MediaPlayer.create(mContext,R.raw.sound0);
            break;
        case "壹":
            mp=MediaPlayer.create(mContext,R.raw.sound1);
            break;
        case "贰":
            mp=MediaPlayer.create(mContext,R.raw.sound2);
            break;
        case "叁":
            mp=MediaPlayer.create(mContext,R.raw.sound3);
            break;
        case "肆":
            mp=MediaPlayer.create(mContext,R.raw.sound4);
            break;
        case "伍":
            mp=MediaPlayer.create(mContext,R.raw.sound5);
            break;
        case "陆":
            mp=MediaPlayer.create(mContext,R.raw.sound6);
            break;
        case "柒":
            mp=MediaPlayer.create(mContext,R.raw.sound7);
            break;
        case "捌":
            mp=MediaPlayer.create(mContext,R.raw.sound8);
            break;
        case "玖":
            mp=MediaPlayer.create(mContext,R.raw.sound9);
            break;
        case "拾":
            mp=MediaPlayer.create(mContext,R.raw.soundshi);
            break;
        case "佰":
            mp=MediaPlayer.create(mContext,R.raw.soundbai);
            break;
        case "仟":
            mp=MediaPlayer.create(mContext,R.raw.soundqian);
            break;
        case "角":
            mp=MediaPlayer.create(mContext,R.raw.soundjiao);
            break;
        case "分":
            mp=MediaPlayer.create(mContext,R.raw.soundfen);
            break;
        case "元":
            mp=MediaPlayer.create(mContext,R.raw.soundyuan);
            break;
        case "整":
            mp=MediaPlayer.create(mContext,R.raw.soundzheng);
            break;
        case "万":
            mp=MediaPlayer.create(mContext,R.raw.soundwan);
            break;
        case "$":
            mp=MediaPlayer.create(mContext,R.raw.soundsuccess);
            break;
    }
    mp.stop();
    return mp;
}  

a2.jpg

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_34908107/article/details/76423519
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-27 22:08:39
  • 阅读 ( 627 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢