我正在开发基于Samsung Chord SDK的应用程序。我需要在sendDataToAll()
中发送视频的当前位置,该位置接受byte[][]
中的数据。我的问题是,当我尝试将当前位置(int
)类型转换为byte
时,我得到负值(在{{1返回。当我尝试将负值转换为byte
中的int
时,它仍然是相同的负值。
我该如何解决这个问题?
发送代码:
OnDataRecived()
接收代码:
//for sending the message
int currPos = mVideoView.getCurrentPosition();
logView.append("Duration sent= " + currPos);
//Integer resume = -3;
Byte msgByte = new Byte("-3");
byte [] [] pay = new byte [1] [2];
pay[0] [0] = msgByte;
Byte msgByte2 = new Byte((byte) currPos);
logView.append("Duration sent= " + msgByte2);
pay[0] [1] = msgByte2;
mChordchannel.sendDataToAll("Integer", pay);
// im sending -3 so that im checking that the user pressed the resume .
答案 0 :(得分:0)
您正在将这些语句中的字节类型转换为字节
pay[0] [0] = msgByte;
pay[0] [1] = msgByte2;
试试这个而不是上面的
pay[0] [0] = msgByte.byteValue();
pay[0] [1] = msgByte2.byteValue();
这是我假设的问题的原因。