我需要从 quicktime 文件中读取 unsigned int,然后将其写回另一个 quicktime 文件。
目前,我将 unsigned int 读入 Long 但在写回它时,我从未设法将确切的数字以 4 个字节写回 unsigned int。long 具有我需要写回的正确值。(例如 3289763894 或 370500)我什至无法读取小于 Integer.MAX_VALUE 的数字(例如 2997)。
我正在使用以下方法将值写回
public void writeUInt32(long uint32,DataOutputStream stream) throws IOException {
writeUInt16((int) (uint32 & 0xffff0000) >> 16,stream);
writeUInt16((int) uint32 & 0x0000ffff,stream);
}
public void writeUInt16(int uint16,DataOutputStream stream) throws IOException {
writeUInt8(uint16 >> 8, stream);
writeUInt8(uint16, stream);
}
public void writeUInt8(int uint8,DataOutputStream stream) throws IOException {
stream.write(uint8 & 0xFF);
}
任何帮助,将不胜感激。