android 平板GT-N8000上显示CHDwifi模块传来的yuyv图像数据
连接方法: 平板GT-N8000--CHDwifi模块--endoscope(USB)
测试运行:直接用以前测试CHDwifi模块的代码运行之.
结果: 没有显示图像, 但平板界面上显示有图像格式/分辨率/帧率/等参数设置成功的文字. 查看代码后发现, 没有显示YUV格式数据流的代码. 需要另外添加显示YUV格式数据流的代码
多方查资料后修改代码():
if (m_Video.Cur_format == m_Video.VIDEO_FORMAT_MJPEG){
if (m_Video.Cur_timetamp - timetamp_old > 40 || timetamp_old - m_Video.Cur_timetamp > 40){
timetamp_old = m_Video.Cur_timetamp;
m_StreamView.ShowOneFrame(buffer,m_Video.Cur_videolen); // ?????????
}
} else if( (m_Video.Cur_format == m_Video.VIDEO_FORMAT_YUYV)) { //下面是添加的部份
if (m_Video.Cur_timetamp - timetamp_old > 40 || timetamp_old - m_Video.Cur_timetamp >40){
timetamp_old = m_Video.Cur_timetamp;
YuvImage yuvimage=new YuvImage(buffer, ImageFormat.YUY2, m_Video.Set_width, m_Video.Set_height, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0, 0, m_Video.Set_width, m_Video.Set_height), 80, baos); //80--JPG图片的质量[0-100],100最高
byte[] jdata = baos.toByteArray();
m_StreamView.ShowOneFrame(jdata, jdata.length);
}
}
重新编译后运行, 可以看到图像. 但图片变化时的延迟很严重(延迟约1秒)。需要优化
阅读(1140) | 评论(0) | 转发(0) |