实习Day 7-8(完成需求与debug)

#Day 7#

        在前一天拿到Demo之后,就开始熟悉项目代码,Demo实际上只有两个界面和一个控制界面,MainActivity->FullscreenActivity,使用PlayControlView来控制视频播放时一些视图的界面。界面逻辑比较简单,但是写了好几个的适配器来启动和控制SDK中媒体播放服务和视频播放器。

一、对于第一个需求的探查:将媒体服务relay用起来,替代原来使用服务器媒体服务的方式,使用移动设备本机创建relay。

        上午主要过了一下主体的逻辑流程,并且找到了第一个可能的切入点:AbArcVideoView setConfig中的mDistributeServerUrl mSlaveConfigedPlayUrl两个url参数,这两个参数调用了SDK中ArcPlayer的setRelayServerIp函数。看起来就很像是正常的设置转发服务器的地方。但是在进一步运行之后发现,这两个参数实际上并没有取到配置文件中应该设置的ip地址。尝试了正确配置之后,发现还是读不到参数,将代码中的这两个参数直接指定为默认值,设为空值,发现对app运行并没有一点的影响,猜测SDK中对这部分代码进行了默认值处理吧,且SDK进行了代码混淆,没办法再进一步进行测试,所以只能放弃这个切入点。

二、对于第二个需求的实现:增加从端自动接受邀请的逻辑,做成可配置,也就是可以设置为手动接受和拒绝,也可以设置为自动接受并打开;

        下午发现第一个需求一时半会解决不了之后,开始想着先解决第二个需求。这个需求属于是理解代码逻辑之后很容易实现的功能,初步实现是通过增加checkBox按钮,设立了一个全局变量来存储这个状态,在Deviceservice中对于作为从端被邀请逻辑进行更改,完成需求。

#Day 8#

一、对于第一个需求的探查

        这一天还是在寻找这个需求的切入点,第二个切入点:Deviceservice有一段代码将MsWrapper进行了init并且传入了一个ip地址,查找了下发现这个地址是Socket组播的地址,于是稍微学习了点Socket的内容。但是因为MsWrapper这个是封装在SDK中的,所以这个切入点也断掉了。

//MsWrapper为服务器初始化中间件?组播地址,全网范围内有效=224.0.1.1:1900

MsWrapper.init(deviceId, context.getDevice(), channel, "224.0.1.1:1900")

        第三个切入点,还是在这个页面中,并且FullscreenActivity中也有对应的mVideoView.serverUrl,经过打log测试之后,发现主端serverUrl为主端的IP地址,从端获取的也为主端的IP地址。这就很令人迷惑了,感觉本身这个需求就是这么实现的,只能说下周再看看是否有遗漏之处。

二、对于第二个需求的优化

        考虑到一般来说app应该有记忆人的操作的功能,所以将全局变量取消,而是改用sharedpreferences来进行存储,利用Demo中原有的SPUtils进行参数的put和get,调试了个把小时实现目标功能。

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值