- java.lang.Object
-
- org.refcodes.audio.AbstractCsvSampleReader<SoundSample>
-
- org.refcodes.audio.CsvSoundSampleReader
-
- 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
TheCsvSoundSampleReader
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
Constructors Modifier Constructor Description CsvSoundSampleReader(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getIndex()
int
getSamplingRate()
Retrieves the sampling rate from the sampling rate property.String
nextRaw()
SoundSample
nextRow()
double[]
nextSampleData()
Reads the next samples, one sample for each channel.-
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.audio.SampleReader
nextSample
-
-
-
-
Constructor Detail
-
CsvSoundSampleReader
public CsvSoundSampleReader(File aFile) throws ZipException, IOException
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
public CsvSoundSampleReader(InputStream aInputStream) throws IOException
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 Detail
-
nextRow
public SoundSample nextRow() throws IOException
- Specified by:
nextRow
in interfaceorg.refcodes.io.RowReader<SoundSample>
- Throws:
IOException
-
nextRaw
public String nextRaw()
- Specified by:
nextRaw
in interfaceorg.refcodes.io.RowReader<SoundSample>
-
nextSampleData
public double[] nextSampleData() throws IOException
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
-
-