- All Implemented Interfaces:
AutoCloseable
,SampleReader<SoundSample>
,SamplingRateAccessor
,SoundSampleReader
,org.refcodes.io.RowReader<SoundSample>
,org.refcodes.mixin.IndexAccessor
public class CsvSoundSampleReader
extends AbstractCsvSampleReader<SoundSample>
implements SoundSampleReader
The
CsvSoundSampleReader
provides means to read sound samples from a
CSV file.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.IndexAccessor
org.refcodes.mixin.IndexAccessor.IndexBuilder<B extends org.refcodes.mixin.IndexAccessor.IndexBuilder<B>>, org.refcodes.mixin.IndexAccessor.IndexMutator, org.refcodes.mixin.IndexAccessor.IndexProperty
Nested classes/interfaces inherited from interface org.refcodes.audio.SamplingRateAccessor
SamplingRateAccessor.SamplingRateBuilder<B extends SamplingRateAccessor.SamplingRateBuilder<B>>, SamplingRateAccessor.SamplingRateMutator, SamplingRateAccessor.SamplingRateProperty
-
Field Summary
Fields inherited from class org.refcodes.audio.AbstractCsvSampleReader
_csvReader
-
Constructor Summary
ModifierConstructorDescriptionCsvSoundSampleReader
(File aFile) Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream.CsvSoundSampleReader
(InputStream aInputStream) Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream.protected
CsvSoundSampleReader
(org.refcodes.tabular.CsvStringRecordReader aCsvReader) Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream. -
Method Summary
Methods inherited from class org.refcodes.audio.AbstractCsvSampleReader
close, doProbeHeader, hasNext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.AutoCloseable
close
Methods inherited from interface org.refcodes.io.RowReader
hasNext
Methods inherited from interface org.refcodes.audio.SampleReader
nextSample
-
Constructor Details
-
CsvSoundSampleReader
Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream.- Parameters:
aFile
- TheFile
where to write the CSV records to.- Throws:
IOException
- thrown in case there was an I/O related problem.ZipException
- Signals that a Zip exception of some sort has occurred.
-
CsvSoundSampleReader
Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream.- Parameters:
aInputStream
- TheInputStream
where to write the CSV records to.- Throws:
IOException
- thrown in case there was an I/O related problem.
-
CsvSoundSampleReader
protected CsvSoundSampleReader(org.refcodes.tabular.CsvStringRecordReader aCsvReader) Constructs theCsvSoundSampleReader
for writing sound samples to a CSV file or stream.- Parameters:
aCsvReader
- TheCsvStringRecordReader
with which to write the CSV records with.
-
-
Method Details
-
nextRow
- Specified by:
nextRow
in interfaceorg.refcodes.io.RowReader<SoundSample>
- Throws:
IOException
-
nextRaw
- Specified by:
nextRaw
in interfaceorg.refcodes.io.RowReader<SoundSample>
-
nextSampleData
Reads the next samples, one sample for each channel. Provide one sample for mono audio, two samples for stereo audio and so on. In case you provide more or less samples than channels being supported by the writer, then it is up to the writer whether to duplicate the samples or calculate an average or the like.- Specified by:
nextSampleData
in interfaceSoundSampleReader
- Returns:
- The samples, one for each channel.
- Throws:
IOException
- thrown in case there was an I/O related problem.
-
getSamplingRate
public int getSamplingRate()Retrieves the sampling rate from the sampling rate property.- Specified by:
getSamplingRate
in interfaceSamplingRateAccessor
- Returns:
- The sampling rate stored by the sampling rate property.
-
getIndex
public long getIndex()- Specified by:
getIndex
in interfaceorg.refcodes.mixin.IndexAccessor
-