penge666 2016-05-28 01:56 采纳率: 0%
浏览 1431
已结题

手机蓝牙接收蓝牙模块发过来的图像数据只有第一帧能正常显示,之后的都不能完整显示

蓝牙模块每隔0.5秒发送一帧图像数据过来,手机接收后保存为jpg图片,现在只能将进入线程后接收到的第一次数据完整保存为jpg图片,之后每一次的数据都是不全的,这是为什么?接收数据的部分程序如下,我是想有数据传过来就接收处理的,不过感觉效果不好
//存储文件并显示的线程
private class saveimageThread extends Thread {

    public saveimageThread(BluetoothSocket btSocket) {
    InputStream tmpIn =null;
    inStream=null;

    try {
    tmpIn=btSocket.getInputStream();
    } catch (IOException e) {
    Log.e(TAG,"temp scoket not created",e);
    }
    inStream=tmpIn;
    }
    @Override
    public void run() {
        int picname=1;
    Log.i("saveimage","start");
    //保存图片
    try{        
    byte[] buffer=new byte[50000];
    //dri为保存路径,SD卡中的carImage文件夹
    //从蓝牙获取输入流      
    while (inStream!=null) 
    {
    Log.e("","InputStream");
    int l = -1;
    try{
    while((l = inStream.read(buffer)) != -1)
    //l = inStream.read(buffer);    
    {
    ByteArrayOutputStream outStream=new ByteArrayOutputStream();
    outStream.write(buffer,0,buffer.length);
    //inStream.close();

byte[] data = outStream.toByteArray();
Log.e("","data is ready!");
//后面都是对data数组进行处理m
while(data.length>0){

}
//break;
}
}catch (Exception e){
e.printStackTrace();}
break;
}

    } catch (Exception e){
    e.printStackTrace();
    System.err.println("Can't start");
    }
     try {
    sleep(10);
    } catch (InterruptedException e) { 
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

}
}
  • 写回答

1条回答 默认 最新

  • 普通网友 2016-10-04 18:30
    关注

    蓝牙接收蓝牙模块发过来的图像数据只有第一帧能正常显示,之后的都不能完整显示 2C
    蓝牙模块每隔0.5秒发送一帧图像数据过来,手机接收后保存为jpg图片,现在只能将进入线程后接收到的第一次数据完整保存为jpg图片,之后每一次的数据都是不全的,这是为什么?接收数据的部分程序如下,我是想有数据传过来就接收处理的,不过感觉效果不好
    //存储文件并显示的线程
    private class saveimageThread extends Thread {
    public saveimageThread(BluetoothSocket btSocket) {
    InputStream tmpIn =null;
    inStream=null;

    try {
    tmpIn=btSocket.getInputStream();
    } catch (IOException e) {
    Log.e(TAG,"temp scoket not
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!