环境:
说明
一. 编译Java sdk
1.1 编译java sdk
二. 部署到项目中
2.1库文件和sdk文件
2.2利用eclipse搭建环境
2.2.1在eclipse中场景一个 Dynamic Web Project 项目,
2.2.2项目的基本构成
2.2.3截图中的两个Servlet,需要自己创建
三. 运行演示
3.1起tomcat服务
3.2在浏览器中模拟get请求
3.3起录制
3.4录制离开频道
环境:
- JDK 1.8 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Eclipse JEE https://www.eclipse.org/downloads/packages/
- tomcat 8.0 https://tomcat.apache.org/download-80.cgi
- 录制sdk 2.3.3 https://docs.agora.io/cn/Recording/downloads
- Linux环境:
$ uname -a
Linux pierre-virtual-machine 4.15.0-34-generic #37-Ubuntu SMP Mon Aug 27 15:21:48 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
说明
本示例仅演示如何把2.3.3Java录制sdk的API集成进简单的web项目中
一. 编译Java sdk
说明:需要从Java sdk demo中获取so库文件和AgoraCoreService文件,以及src下面的调用文件,
所以先从官网下载2.3.3sdk: https://docs.agora.io/cn/Recording/downloads
1.1编译java sdk
下载下来的demo,解压,进入 …samples/java 根据Readme里面的步骤进行编译
通过下面的命令查找jdk的jni.h头文件,确保Linux环境中安装了jdk, 安装的位置由您自己决定
$ find /usr/java/ -name 'jni.h'
/usr/java/jdk1.8.0_181/include/jni.h
然后执行如下命令,设置jni
$ source build.sh pre_set /usr/java/jdk1.8.0_181/include/
最后执行build命令行
$ ./build.sh build
控制台打印的warning可以忽略,
…
mv AgoraSdk.o ./bin
g++ ./native/RecordingJni.cpp -o [librecording.so](http://librecording.so/) -shared -fPIC -I. -I`pwd`/../../include -I`pwd`/../../include/base -I`pwd`/../../samples/base -I`pwd`/../../samples/agorasdk -I`pwd`/../../samples -I/usr/java/jdk1.8.0_181/include/ -I/usr/java/jdk1.8.0_181/include//linux -std=c++0x ./bin/AgoraSdk.o ./bin/opt_parser.o -pthread -lpthread -L`pwd`/../../libs -lrecorder -lrt -I.
In file included from ./native/RecordingJni.cpp:8:0:
./native/helper.h:38:28: warning: backslash-newline at end of file
#define CPN(PTR) \
mv [librecording.so](http://librecording.so/) ./bin
build all done!
编译成功之后,生成bin
库文件librecording.so 在…bin/io/agora/recording/librecording.so
二. 部署到项目中
2.1. 库文件和sdk文件
librecording.so 建议放在Linux系统的 /usr/lib 下面
AgoraCoreService 随便放在系统中某个位置, 只需要确保 appliteDir引用到
2.2. 利用eclipse搭建环境
2.2.1在eclipse中场景一个 Dynamic Web Project 项目,
中间几步输入项目名称,Next
然后在这一步记得勾选 Generate web.xml deployment descriptor,项目场景之后,自动生成web.xml配置文件
2.2.2.项目的基本构成
src下面的Java文件,集成时需要用到
##2.2.3. 截图中的两个Servlet,需要自己创建
在包 io.agora.recording.test包名上面右击,
New → Servlet → 输入Servlet 名称 → 下一步,直到finish
创建了servlet之后,需要在web.xml里面配置servlet-name 和 servlet-mapping,具体请看上面的截图中的web.xml的内容。我的示例中只配置了record 开始录制,和leavechannel 结束录制
RecordingServlet.java的内容
开始录制只需要从客户端传频道号过来即可,httprequest获取频道号,调createChannel方法起录制进程
LeavechannelServlet.java 的内容
leavechannel时,只需要传nativehandle即可, 这个nativeHandle 在nativeObjectRef回调中获取
public void nativeObjectRef( long nativeHandle) {
mNativeHandle = nativeHandle;
System. out.println("nativeHandle===="+nativeHandle);
}
三. 运行演示
3.1.起tomcat服务
右击项目
3.2.在浏览器中模拟get请求
http://localhost:8080/JavaSDK233/record?channelName=123343
在springboboot中怎么集成啊