public COMRID3V2Frame(InputStream oIS) throws ID3Exception { // Parse out the text encoding and text string from the raw data try { ID3DataInputStream oFrameDataID3DIS = new ID3DataInputStream(oIS); // text encoding m_oTextEncoding = TextEncoding.getTextEncoding(oFrameDataID3DIS.readUnsignedByte()); // price (read to null) m_sPrice = oFrameDataID3DIS.readStringToNull(); // valid until byte[] abyValidUntil = new byte[8]; oFrameDataID3DIS.readFully(abyValidUntil); m_sValidUntil = new String(abyValidUntil); // contact url (read to null) m_sContactUrl = oFrameDataID3DIS.readStringToNull(); // received as m_byReceivedAs = (byte) oFrameDataID3DIS.readUnsignedByte(); // name of seller (read to null) m_sNameOfSeller = oFrameDataID3DIS.readStringToNull(m_oTextEncoding); // description (read to null) m_sDescription = oFrameDataID3DIS.readStringToNull(m_oTextEncoding); // is there a company logo picture coming? if (oFrameDataID3DIS.available() > 0) { // company logo mime type (read to null) m_sPictureMimeType = oFrameDataID3DIS.readStringToNull(); // company logo picture data m_abySellerLogoData = new byte[oFrameDataID3DIS.available()]; oFrameDataID3DIS.readFully(m_abySellerLogoData); } } catch (Exception e) { throw new InvalidFrameID3Exception(e); } }
public USLTID3V2Frame(InputStream oIS) throws ID3Exception { // Parse out the text encoding and text string from the raw data try { ID3DataInputStream oFrameDataID3DIS = new ID3DataInputStream(oIS); // text encoding m_oTextEncoding = TextEncoding.getTextEncoding(oFrameDataID3DIS.readUnsignedByte()); // language byte[] abyLanguage = new byte[3]; oFrameDataID3DIS.readFully(abyLanguage); m_sLanguage = new String(abyLanguage); // content descriptor (read to null) m_sContentDescriptor = oFrameDataID3DIS.readStringToNull(m_oTextEncoding); // lyrics byte[] abyLyrics = new byte[oFrameDataID3DIS.available()]; oFrameDataID3DIS.readFully(abyLyrics); m_sLyrics = new String(abyLyrics, m_oTextEncoding.getEncodingString()); } catch (Exception e) { throw new InvalidFrameID3Exception(e); } }