linphone5.2 sdk window10 x64编译 C#开发
编译环境
1.cmake >= 3.15
2.python
3.pip
4.yasm
5.nasm
6.doxygen
7.Perl
8.pystache pip install pystache
9.six pip install six
10.git
以上都要添加系统环境变量
替换sdk中所有mingw32 – mingw64, i686 – x86_64, -A Win32 – -A x64
打开cmake
1.然后configure选择x64然后选择需要编译的模块最后generate。
2.打开build64下的linphone-sdk.sln开始编译。
3.在编译mediastreamer2过程中如果提示找不到xxd.py,打开mediastreamer2\src\generate_yuv2rgb_header.cmake文件将${INPUT_DIR}/…/tools/xxd.py替换成xxd.py实际位置重新configure generate下在编译。
5.mediastreamer2_tester出问题可以将ENABLE_UNIT_TESTS先关掉。类似问题同样处理
项目开发
1.编译完成后新建一个C#winform项目引用build64\linphone-sdk\desktop\share\linphonecs\LinphoneWrapper.cs
2.接收linphone日志 使用LoggingServiceListener.OnLogMessageWritten方法
3.设置日志类型LoggingService.Instance.LogLevel
4.创建linphonecore使用Factory.Instance.CreateCore
5.接收core状态变化使用CoreListener
6.设置transport端口随机Factory.Instance.CreateTransports 然后分别复制-1
7.启动核心Core.Start()同时开启另一个进程循环Core.Iterate();
8.Core.AudioPayloadTypes获取支持的音频编码
9.Core.VideoPayloadTypes获取支持的视频编码
10.Core.AudioDevices获取音频设备
11.Core.VideoDevicesList获取视频设备
注册分机
1.创建Address 使用 Factory.Instance的CreateAddress
2.创建ProxyConfig 使用Core的CreateProxyConfig 将Address赋值给ProxyConfig的IdentityAddress
将Address的Domain赋值给ProxyConfig的ServerAddr
将ProxyConfig的RegisterEnabled 设置成 true
3.创建AuthInfo 使用Factory.Instance的CreateAuthInfo 将AuthInfo添加到Core中
4.将ProxyConfig添加到CORE
外呼分机
1.创建Address使用Core的InterpretUrl
2.开始外呼使用Core的InviteAddress
3.如果需要录音还要创建Params使用Core的CreateCallParams
4.设置CallParams的RecordFile
5.开始外呼使用Core的InviteAddressWithParams
分机呼入
1.在CallStateChangedDelegate中判断CallState是IncomingReceived就有电话呼入
2.使用Call.Accept接听电话
3.呼入电话开启录音还要创建Params使用Core的CreateCallParams
4.设置CallParams的RecordFile
5.接听电话用Call的AcceptWithParams
基本的安装使用就这样了