• 项目实笔


    Speaking的优化流程

    1、用户反馈:speaking的录音评测过程出现等待卡顿现象,

    2、speaking流程:

    播放单词-ding开始-开始录音-结束录音-ding结束-播放原声-评测结果

    3、原来代码逻辑:

      播放单词开始起,3秒开始录音 ,3s 后结束录音,结束录音开始播放原声,播放原声3s ,之后收到反馈结果,tryagain重复这个流程

    4、优化流程:

    (1)优化第一版本:

    获取的当前播放单词的时间,举例单词时间为1.8秒,采取向上取整的方式取2s ,2s后开始录音,录音时长为当前单词的时长+1s,录音结束,开始播放原声,播放原声时长为当前单词的时长+1s,,之后收到反馈结果,tryagain重复这个流程
    第一版本把握时间控制,都是以当前单词的时间 动态推进流程

    (2) 优化第二版:

        在第一版的基础上,发现ios 有兼容问题,修改为各个动作监听完毕后开始下一个动作,采用的方法是

    animation.on('stop',      this.onStop,        this);该方法使用后发现,播放动画监听结束时,该动画才播放到正常流程的一半,并非理想中监听到播放完毕。

    (3)优化第三版:

      在第二版的基础上,监听函数效果不好,回归到动态获取单词时间的方案上,手动控制动画的播放速效率,区分ios和安卓两个系统,但是ios 在手动控制速率上效果不好,

    (4)优化第四版:

        镖哥的接入,在第二版的基础上,修改为各个动作监听完毕后开始下一个动作,采用的方法是

    animation.on('finished',      this.onStop,        this),能够在动画播放完毕后监听到。这种监听事件回调的方式,判断接下来动作的执行,ios 兼容问题解决。

    5、反思:

    (1)、在录音时长和播放单词时长时,应该动态获取,不能直接固定时间后开始录音和播放声音,流畅性差,会给用户等待卡顿的不友好体验

    (2)、对于监听事件,对于cocos 文档没有熟看,导致用错方法,耽误开发时间,

    6、接下来要做的事:

    (1)、产品迭代,从用户的角度去感受,用技术去改善用户的使用体验,

    (2)、增加自身的学习能力,过程也要不断提高效率,总结问题解决思路,持续改善。

  • 相关阅读:
    【HTTP】长连接和短连接
    HTTP/1.1 持久连接 persistent connection
    浅谈Websocket、Ajax轮询和长轮询(long polling)
    web通信之跨文档通信 postMessage
    HTML5 postMessage 和 localStorage 实现窗口间通信
    CORS 和 JSONP
    【转】js中几种实用的跨域方法原理详解
    [跨域]前端解决跨域问题
    RFC1867 HTTP file upload
    Multipart/form-data POST文件上传
  • 原文地址:https://www.cnblogs.com/xiaoeshuang/p/12195400.html
Copyright © 2020-2023  润新知