25 #ifndef SFML_SOUNDFILE_HPP
26 #define SFML_SOUNDFILE_HPP
31 #include <SFML/System/NonCopyable.hpp>
43 class SoundFile : NonCopyable
58 static SoundFile* CreateRead(
const std::string& Filename);
72 static SoundFile* CreateRead(
const char* Data, std::size_t SizeInBytes);
84 static SoundFile* CreateWrite(
const std::string& Filename,
unsigned int ChannelsCount,
unsigned int SampleRate);
98 std::size_t GetSamplesCount()
const;
106 unsigned int GetChannelsCount()
const;
114 unsigned int GetSampleRate()
const;
133 virtual std::size_t Read(Int16* Data, std::size_t NbSamples);
142 virtual void Write(
const Int16* Data, std::size_t NbSamples);
165 virtual bool OpenRead(
const std::string& Filename, std::size_t& NbSamples,
unsigned int& ChannelsCount,
unsigned int& SampleRate);
179 virtual bool OpenRead(
const char* Data, std::size_t SizeInBytes, std::size_t& NbSamples,
unsigned int& ChannelsCount,
unsigned int& SampleRate);
191 virtual bool OpenWrite(
const std::string& Filename,
unsigned int ChannelsCount,
unsigned int SampleRate);
196 std::size_t myNbSamples;
197 unsigned int myChannelsCount;
198 unsigned int mySampleRate;
199 std::string myFilename;
209 #endif // SFML_SOUNDFILE_HPP