public static void listMarkers(File waveFile) throws IOException { RcRiffBwf rcRiffBwf = new RcRiffBwf(waveFile); rcRiffBwf.open(); RcRiffMarkerChunk rcRiffMarkerChunk = rcRiffBwf.getRcRiffMarkerChunk(); int sampleRate = (int) rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(); int channels = rcRiffBwf.getRcRiffFmtChunk().getChannels(); long ms; if (rcRiffMarkerChunk != null) { for (RcRiffMarkerEntry e : rcRiffMarkerChunk.getMarkerEntries()) { ms = Math.round((double) e.getSampleOffset().longValue() / (sampleRate / 1000D) / (double) channels); System.out.println(e.getLabelText() + " @ " + formatTime(ms)); } System.out.println("\n" + rcRiffMarkerChunk.getMarkerEntries().size() + " marker entries"); } else { System.out.println("No marker chunk was found."); } rcRiffBwf.close(); }
public XMLGregorianCalendar getXmlDuration() throws DatatypeConfigurationException { long dataSize = this.getRcRiffDataChunk().getChunkSize(); long blockSize = this.getRcRiffFmtChunk().getBlockAlign(); long numSampleFrames = dataSize / blockSize; long samplesPerSec = this.getRcRiffFmtChunk().getSamplesPerSec(); long ms = (long) (numSampleFrames / (samplesPerSec / 1000D)); int hours = (int) (ms / (60 * 60 * 1000)); ms -= hours * 60 * 60 * 1000; int min = (int) (ms / (60 * 1000)); ms -= min * 60 * 1000; int sec = (int) (ms / 1000); ms -= sec * 1000; XMLGregorianCalendar duration = DatatypeFactory.newInstance().newXMLGregorianCalendarTime(hours, min, sec, (int) ms, DatatypeConstants.FIELD_UNDEFINED); return duration; }
int sampleRate = (int) rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec();
System.out.println("\tFormat tag: " + rcRiffFmtChunk.getFormatTag()); System.out.println("\tChannels: " + rcRiffFmtChunk.getChannels()); System.out.println("\tSamples per sec: " + rcRiffFmtChunk.getSamplesPerSec()); System.out.println("\tAvg bytes per sec: " + rcRiffFmtChunk.getAvgBytesPerSec()); System.out.println("\tBlock align: " + rcRiffFmtChunk.getBlockAlign());
public static void setExampleBroadcastAudioExtensionData(RcRiffBwf rcRiffBwf) throws RcBwfException { RcRiffBextChunk rcRiffBextChunk = new RcRiffBextChunk(); rcRiffBwf.setRcRiffBextChunk(rcRiffBextChunk); long sampleRate = rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(); rcRiffBextChunk.setDescription("Example description"); rcRiffBextChunk.setOriginator("Example originator"); rcRiffBextChunk.setOriginatorReference("Example originator reference"); // Next 3 set to current date / time only for example rcRiffBextChunk.setOriginationDate(RcBwfWriteExample.getBextDate()); rcRiffBextChunk.setOriginationTime(RcBwfWriteExample.getBextTime()); rcRiffBextChunk.setOriginationTimeReference( RcBwfWriteExample.getBextTimeReference(sampleRate)); byte umid[] = new byte[64]; Arrays.fill(umid, (byte) 0x0); rcRiffBextChunk.setUmid(umid); }
long sampleRate = rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(); int channels = rcRiffBwf.getRcRiffFmtChunk().getChannels(); long sampleOffset = Math.round(markerPosMs * (sampleRate / 1000D) * channels);
chunkDataSize += RcRiffFile.writeUnsignedInt(out, this.getSamplesPerSec());
try { sampleRate = rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(); channels = rcRiffBwf.getRcRiffFmtChunk().getChannels(); audioTempFile, rcRiffBwf.getRcRiffFmtChunk().getChannels(), (int) rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(), rcRiffBwf.getRcRiffFmtChunk().getBitsPerSample(), rcRiffBwf.getRcRiffFmtChunk().getBlockAlign(), (rcRiffBwf.getRcRiffDataChunk().getChunkSize() / rcRiffBwf.getRcRiffFmtChunk().getBlockAlign()) / (rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000), observer, objIdx,
sourceFile, rcRiffBwf.getRcRiffFmtChunk().getChannels(), (int) rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(), rcRiffBwf.getRcRiffFmtChunk().getBitsPerSample(), rcRiffBwf.getRcRiffFmtChunk().getBlockAlign(), (rcRiffBwf.getRcRiffDataChunk().getChunkSize() / rcRiffBwf.getRcRiffFmtChunk().getBlockAlign()) / (rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000), observer, objIndex, long sampleRate = rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec(); int bitsPerSample = rcRiffBwf.getRcRiffFmtChunk().getBitsPerSample(); File downsampledSourceFile = null; float oggVorbisSamplingFrequency = rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000F;
rcAudioFileMd.setSamplingFrequency(rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000F);
rcAudioFileMd.setSamplingFrequency(rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000F);
rcAudioMdFileData.setSamplingFrequencyElement(rcRiffBwf.getRcRiffFmtChunk().getSamplesPerSec() / 1000F);