当前位置: 代码网 > it编程>编程语言>Javascript > Android 播放base64音频

Android 播放base64音频

2024年07月31日 Javascript 我要评论
由于在json中/被转义,多了“\”符号,所以我们需要收动将 “\”替换为空。通过分析网页请求,可以看到返回的语音是一段base64的字符串。1.要播放语音提示,先要有语音文件。可以使用百度的在线语音合成。如果验证通过,则播放一段“验证通过,请放行”的语音,将处理完的base64字符串存好,留着备用。调用方式很简单,传入base64音频即可。2.Android播放base64音频。如果验证不通过,则播放其他的语音提示。其中data部分就是我们需要的语音,

需求描述:

做一个android扫码验证入场的程序:

如果验证通过,则播放一段“验证通过,请放行”的语音,

如果验证不通过,则播放其他的语音提示。

实现步骤:

1.要播放语音提示,先要有语音文件。可以使用百度的在线语音合成。在线语音合成_高度拟人的语音合成服务-百度ai开放平台t

 通过分析网页请求,可以看到返回的语音是一段base64的字符串。

其中data部分就是我们需要的语音,由于在json中/被转义,多了“\”符号,所以我们需要收动将 “\”替换为空。

将处理完的base64字符串存好,留着备用。

2.android播放base64音频。

public void playmedia(string voicebase64) {
        try {
            mediaplayer mediaplayer = new mediaplayer();
            try {
                mediaplayer.setdatasource(voicebase64);
                mediaplayer.prepareasync();
                mediaplayer.setvolume(100f, 100f);
                mediaplayer.setlooping(false);
            } catch (illegalargumentexception e) {
                toast.maketext(getapplicationcontext(), "you might not set the datasource correctly!", toast.length_long).show();
            } catch (securityexception e) {
                toast.maketext(getapplicationcontext(), "you might not set the datasource correctly!", toast.length_long).show();
            } catch (illegalstateexception e) {
                toast.maketext(getapplicationcontext(), "you might not set the datasource correctly!", toast.length_long).show();
            } catch (ioexception e) {
                e.printstacktrace();
            }
            mediaplayer.setonpreparedlistener(new mediaplayer.onpreparedlistener() {
                @override
                public void onprepared(mediaplayer player) {
                    player.start();
                }
            });
            mediaplayer.setoncompletionlistener(new mediaplayer.oncompletionlistener() {
                @override
                public void oncompletion(mediaplayer mp) {
                    mp.stop();
                    mp.release();
                }
            });
        } catch (exception e) {
            e.printstacktrace();
        }
    }

 调用方式很简单,传入base64音频即可。

findviewbyid(r.id.btnpass).setonclicklistener(view -> playmedia(voice.pass));
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com