public static void setExampleAXmlData(RcRiffBwf rcRiffBwf) throws DatatypeConfigurationException, TransformerException, ParserConfigurationException, IOException, RcAudioMdException { // Create example audioMD RcAudioMd rcAudioMd = RcBwfWriteExample.getRcAudioMd(rcRiffBwf); boolean prefixed = true; String audioMdXml = rcAudioMd.marshalToString(prefixed); // Create and set axml chunk RcRiffAXmlChunk rcRiffAXmlChunk = new RcRiffAXmlChunk(); rcRiffAXmlChunk.setAXml(audioMdXml); rcRiffBwf.setRcRiffAXmlChunk(rcRiffAXmlChunk); }
@Override public long write(RandomAccessFile out) throws IOException, RcBwfException { if (this.getAXml().trim().length() == 0) { return 0L; } long chunkStartPtr = out.getFilePointer(); this.setChunkSize(0L); long chunkHeaderSize = super.write(out); long chunkDataSize = RcRiffFile.writeUtf8(out, this.getAXml().trim()); long chunkEndPtr = out.getFilePointer(); out.seek(chunkStartPtr + RcRiffChunk.SIZE_OF_CHUNK_ID); RcRiffFile.writeUnsignedInt(out, chunkDataSize); out.seek(chunkEndPtr); return chunkHeaderSize + chunkDataSize; }
@Override public long read(RandomAccessFile in, long ptr, long chunkSize) throws IOException { this.setPtr(ptr); this.setChunkSize(chunkSize); this.setAXml(RcRiffFile.readUtf8(in, this.getChunkSize())); return this.getChunkSize(); }
RcRiffAXmlChunk rcRiffAXmlChunk = new RcRiffAXmlChunk(); riffBytesRead += rcRiffAXmlChunk.read(this.in, ptr, chunkSize);
public RcRiffAXmlChunk() { super(); this.setChunkId(RcRiffBwf.RC_RIFF_AXML_CHUNK_ID); }
String aXml = rcRiffAXmlChunk.getAXml().trim(); if (aXml.length() > 0) {
riffSize += this.getRcRiffAXmlChunk().write(out); riffSize += this.align(out, riffSize);
RcRiffAXmlChunk rcRiffAXmlChunk = new RcRiffAXmlChunk(); rcRiffAXmlChunk.setAXml(rcAudioRecMd.getMods().marshalToString(true)); rcRiffBwf.setRcRiffAXmlChunk(rcRiffAXmlChunk);