react-native录制使用aurora-imui视频后红屏报错

imui
标签: #<Tag:0x00007f21551159b8>

(Yanma Y) #1

点击录制结束的按钮后直接红屏报错,reload后进入消息列表报同样的错误


(Yanma Y) #2

问题补充:
D7BZLSBL%60IFB%24RW%5D5U4T(KT


(Yanma Y) #3

问题再补充:
在拍照界面点击右上角全屏按钮后,再次点击取消全屏,拍照界面会直接关闭,重新从input栏打开拍照界面后,界面上底部的一排按钮看不到,必须全屏才能看到


(Josh Lipan) #4
  • 报红是 duration 参数获取失败,发送视频消息时检查 duration 参数,无法获取的建议设置为 0
  • 尺寸问题建议参考 sample 调用 onSizeChange 处理

(Yanma Y) #5

duration该如何传递啊,我这样传怎么没效果呢?
TIM%E5%9B%BE%E7%89%8720190214152308


(Josh Lipan) #6

你把 video 对象打印出来看下


(Yanma Y) #7

打印了,有值


(Yanma Y) #8

我在这一行下面打印了message对象,值已经附上去了


(Josh Lipan) #9

你截图的 message 对象是给 Jmessage 用的啊,imui 需要 video 类型的 message


(Yanma Y) #10

我通过JMessage.getHistoryMessages获取到的视频消息对象没有duration,我想显示时长的话该怎么做呢?


(Josh Lipan) #11

JMessage file 类型是没有 duration 参数,你可以放在 extras 里面


(Yanma Y) #12
message.extras = { fileType: 'video', duration: video.duration };

放那里面会报参数错误,格式不对吗?


(Josh Lipan) #13

extra键值对统一为 string 类型,message.extras = { fileType: ‘video’, duration: video.duration +" "};


(Yanma Y) #14

可以了,非常感谢了
另外,在打开拍照界面的时候能不能设置默认全屏呢?


(Josh Lipan) #15

没有提供这个配置


(Yanma Y) #16

感觉这个功能还是比较必要的,感觉非全屏的状态比较鸡肋;
目前尚未解决的问题还有:

  1. 不管是拍照还是录像,全屏时点击右上角退出全屏按钮,会把界面给关掉,而不是回退到非全屏状态;
  2. 全屏后,重新打开拍照功能,底部拍照按钮未显示出来;
  3. 录像模式下,点击左上角关闭[X]按钮,input栏并未回到页面底部;【已通过closeCamera方法修改布局解决】
  4. 在输入框和下方按钮不断切换的时候,偶尔会出现功能按钮的页面加载不出来的问题
    相关问题录屏

(Josh Lipan) #17

1:Android RN 这块逻辑设计就是点击退出全屏,直接关闭
2和3:是否调用 onSizeChange 处理高度了,可以参考demo这块的逻辑,如果不调用需要自己适配高度变化
4.功能块偶现空白问题确实存在,主要是 emoji 表情这块,会在之后的版本修正


(Yanma Y) #18

1:这一点好像和原生demo的逻辑不太一样
2:打印了onSizeChange中的高度


发现在第一次打开摄像头和退出全屏后重新打开摄像头的数值是一样的;感觉像是退出全屏的时候没有还原摄像头界面的尺寸一样

3:已通过定义closeCamera属性调用resetMenu()解决
4:期待新版本发布
5:另外又发现一个新问题,打开摄像头的状态下锁屏后重新打开屏幕,摄像头卡死或黑屏


(Yanma Y) #19

问题2已解决,原因是在componentDidMount中没有初始化高度this.refs[‘ChatInput’].setMenuContainerHeight(316)
jmessage的官方demo害死人,bug太多