28 #include <SFML/Audio/Music.hpp> 29 #include <SFML/Audio/OpenAL.hpp> 30 #include <SFML/Audio/SoundFile.hpp> 43 mySamples (BufferSize)
71 myFile = priv::SoundFile::CreateRead(Filename);
74 std::cerr <<
"Failed to open \"" << Filename <<
"\" for reading" << std::endl;
79 myDuration =
static_cast<float>(myFile->GetSamplesCount()) / myFile->GetSampleRate() / myFile->GetChannelsCount();
82 Initialize(myFile->GetChannelsCount(), myFile->GetSampleRate());
98 myFile = priv::SoundFile::CreateRead(Data, SizeInBytes);
101 std::cerr <<
"Failed to open music from memory for reading" << std::endl;
106 myDuration =
static_cast<float>(myFile->GetSamplesCount()) / myFile->GetSampleRate();
109 Initialize(myFile->GetChannelsCount(), myFile->GetSampleRate());
118 bool Music::OnStart()
120 return myFile && myFile->Restart();
133 Data.
NbSamples = myFile->Read(&mySamples[0], mySamples.size());
136 return Data.
NbSamples == mySamples.size();
bool OpenFromFile(const std::string &Filename)
Open a music file (doesn't play it – call Play() for that)
const Int16 * Samples
Pointer to the audio samples.
Music(std::size_t BufferSize=44100)
Construct the music with a buffer size.
Structure defining a chunk of audio data to stream.
bool OpenFromMemory(const char *Data, std::size_t SizeInBytes)
Open a music file from memory (doesn't play it – call Play() for that)
void Initialize(unsigned int ChannelsCount, unsigned int SampleRate)
Set the audio stream parameters, you must call it before Play()
std::size_t NbSamples
Number of samples pointed by Samples.
void Stop()
Stop playing the audio stream.
float GetDuration() const
Get the music duration.