CocosCreator系列——用安卓原生实现录音与播放功能

本文介绍如何在CocosCreator中使用安卓原生API实现录音与播放功能。作者强调了编程中的细心,并分享了两天研究后完成功能的经历。文章包含CocosCreator的JS代码和Java代码示例,涉及MediaRecorder和MediaPlayer类的应用。最后展示了客户端界面,并鼓励读者关注作者。
摘要由CSDN通过智能技术生成

CocosCreator系列——用安卓原生实现录音与播放功能

正式开始这篇文章之前先啰嗦一下,写程序一定要细心细心再细心,一定要细心细心再细心,一定要细心细心再细心重要的事说三遍,其实自己一直都写好了,但是一直不成功,发现多了一个“/”,然后不报错了,不知道为什么还是没声音,why?why?why?why?why?我一脑子黑人问号脸?后来发现手机是静音模式……好吧,我都服了我自己了。
开始正文先来点掌声吧,👏👏👏为了写这个功能,花了我两天时间研究安卓,真是客户端什么都要会啊,终于在第二天即将下班之际完成这个功能了,首先是CocosCreator客户端代码,同样基于2.2.1版本,我注释写的挺详细的,不懂的可以关注我一波,私信我给你讲解一下,看js代码吧:

cc.Class({
   
    extends: cc.Component,

    properties: {
   
        luyinBtn: cc.Node,
    },

    // use this for initialization
    onLoad: function () {
   
        if (cc.sys.isNative) {
   
        	//设置用来存放录制语音的路径
            this.setStorageDir(jsb.fileUtils.getWritablePath() + "audioS/");
        }

        this.luyinBtn.on(cc.Node.EventType.TOUCH_START, this.onVoiceTouch, this);//一直按着录音
        this.luyinBtn.on(cc.Node.EventType.TOUCH_END, this.stopRecord, this);//抬起录音完成
        this.luyinBtn.on(cc.Node.EventType.TOUCH_CANCEL, this.stopRecord, this);//抬起取消录音,暂未实现,实际项目里再说吧,这个简单
    },

    setStorageDir: function (dir) {
   
        if (cc.sys.os == cc.sys.OS_ANDROID) {
   
            jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "setStorageDir", "(Ljava/lang/String;)V", dir);
        }
    },

    onVoiceTouch() {
   
        if (!cc.sys.isNative) {
   
            return;
        }
        //开始录音啦!!!!!!!
        //先清理一下旧文件
        this.clearCache("record.mp3");
        if (cc.sys.os == cc.sys.OS_ANDROID) {
   
            cc.
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值