Cocos2dx c++版本调用摄像头的案例网上很多,但是js几乎没有,于是捣鼓了一番,用c++的实现加上jsb绑定,弄出来了个,贴出来大家交流下,若有不对之处,共勉。
首先要感谢2位作者 (头像选择器)和 (Js Binding)
头像选择器给了在C++端调用相册及摄像头的源代码(C++端我没有去验证,但是js验证成功),由于是js项目,我们的逻辑代码在js端,这就涉及到了js调用C++的需求,正好我碰到了Js Binding这个方法,然后一步一步的将头像选择器添加的.h和.c++文件成功的进行了jsb绑定,然后再js代码里就能使用C++里的方法。
上面2位牛人的实现我就不重复了,(切记:按照步骤来,不懂的步骤不要忽略,很容易报错。),下面是我实现了jsb绑定之后碰到的问题。
准备环境:
cocos3.9引擎
java
Python2.7
adt-bundle-windows-x86_64-20140702
android-ndk-r9d
apache-ant-1.9.4
这些环境配了之后能跑cocos项目
py-yaml
cheetah
这2个环境配了可以自动绑定jsb
文本编辑器---Notepad++,后面简称文本编辑器
上面这些软件我会传到百度云上,不会下的有福利了。环境如何配置就不说了(罗嗦)
选择一个目录 打开命令行,输入cocos new callcamera –p com.game.callcamera–l js 回车,新建项目则会在当前目录创建成功
这时在项目目录打开命令行输入cocos compile –p android 回车,静静的等它编译完成则会在项目目录simulator生成/android/***-debug.apk,这个debug可以直接在安卓手机上运行了。
接下来可以进行下一步。由于是js,头像选择器是C++版本的,所以先参照头像选择器,然后再用jsb绑定后在js里使用。
将下载文件夹里的ImagePicker打开,将Classes里的ImagePicker.cpp和ImagePicker.h复制到callcamera\frameworks\runtime-src\Classes目录下
将ImagePicker里的Resources里的资源复制到callcamera\res