Simple and Fast Multimedia Library
Documentation for SFML 2.5.1
Initializing search
SFML
Home
Learn
Tutorials
Documentation
Download
Community
Development
Donate
Simple and Fast Multimedia Library
Home
Learn
Tutorials
Documentation
Documentation
SFML 3.1.0
SFML 3.0.2
SFML 3.0.1
SFML 3.0.0
SFML 2.6.2
SFML 2.6.1
SFML 2.6.0
SFML 2.5.1
SFML 2.5.0
SFML 2.4.2
SFML 2.4.1
SFML 2.4.0
SFML 2.3.2
SFML 2.3.1
SFML 2.3
SFML 2.2
SFML 2.1
SFML 2.0
SFML 1.6
Download
Community
Development
Warning
This page refers to an old version of SFML.
Click here to switch to the latest version.
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Loading...
Searching...
No Matches
SFML
include
SFML
Audio
InputSoundFile.hpp
Go to the documentation of this file.
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_INPUTSOUNDFILE_HPP
26
#define SFML_INPUTSOUNDFILE_HPP
27
29
// Headers
31
#include <
SFML/Audio/Export.hpp
>
32
#include <
SFML/System/NonCopyable.hpp
>
33
#include <
SFML/System/Time.hpp
>
34
#include <string>
35
#include <algorithm>
36
37
38
namespace
sf
39
{
40
class
InputStream
;
41
class
SoundFileReader
;
42
47
class
SFML_AUDIO_API
InputSoundFile
:
NonCopyable
48
{
49
public
:
50
55
InputSoundFile
();
56
61
~InputSoundFile
();
62
74
bool
openFromFile
(
const
std::string& filename);
75
88
bool
openFromMemory
(
const
void
* data, std::size_t sizeInBytes);
89
101
bool
openFromStream
(
InputStream
& stream);
102
109
Uint64
getSampleCount
()
const
;
110
117
unsigned
int
getChannelCount
()
const
;
118
125
unsigned
int
getSampleRate
()
const
;
126
136
Time
getDuration
()
const
;
137
144
Time
getTimeOffset
()
const
;
145
152
Uint64
getSampleOffset
()
const
;
153
171
void
seek
(
Uint64
sampleOffset);
172
185
void
seek
(
Time
timeOffset);
186
196
Uint64
read
(
Int16
* samples,
Uint64
maxCount);
197
198
private
:
199
204
void
close();
205
207
// Member data
209
SoundFileReader
* m_reader;
210
InputStream
* m_stream;
211
bool
m_streamOwned;
212
Uint64
m_sampleOffset;
213
Uint64
m_sampleCount;
214
unsigned
int
m_channelCount;
215
unsigned
int
m_sampleRate;
216
};
217
218
}
// namespace sf
219
220
221
#endif
// SFML_INPUTSOUNDFILE_HPP
222
223
Export.hpp
SFML_AUDIO_API
#define SFML_AUDIO_API
Definition
Audio/Export.hpp:43
NonCopyable.hpp
Time.hpp
sf::InputSoundFile::~InputSoundFile
~InputSoundFile()
Destructor.
sf::InputSoundFile::openFromStream
bool openFromStream(InputStream &stream)
Open a sound file from a custom stream for reading.
sf::InputSoundFile::InputSoundFile
InputSoundFile()
Default constructor.
sf::InputSoundFile::openFromMemory
bool openFromMemory(const void *data, std::size_t sizeInBytes)
Open a sound file in memory for reading.
sf::InputSoundFile::getChannelCount
unsigned int getChannelCount() const
Get the number of channels used by the sound.
sf::InputSoundFile::getSampleCount
Uint64 getSampleCount() const
Get the total number of audio samples in the file.
sf::InputSoundFile::getSampleRate
unsigned int getSampleRate() const
Get the sample rate of the sound.
sf::InputSoundFile::getSampleOffset
Uint64 getSampleOffset() const
Get the read offset of the file in samples.
sf::InputSoundFile::read
Uint64 read(Int16 *samples, Uint64 maxCount)
Read audio samples from the open file.
sf::InputSoundFile::seek
void seek(Time timeOffset)
Change the current read position to the given time offset.
sf::InputSoundFile::getDuration
Time getDuration() const
Get the total duration of the sound file.
sf::InputSoundFile::seek
void seek(Uint64 sampleOffset)
Change the current read position to the given sample offset.
sf::InputSoundFile::getTimeOffset
Time getTimeOffset() const
Get the read offset of the file in time.
sf::InputSoundFile::openFromFile
bool openFromFile(const std::string &filename)
Open a sound file from the disk for reading.
sf::InputStream
Abstract class for custom file input streams.
Definition
InputStream.hpp:42
sf::NonCopyable::NonCopyable
NonCopyable()
Default constructor.
Definition
NonCopyable.hpp:53
sf::SoundFileReader
Abstract base class for sound file decoding.
Definition
SoundFileReader.hpp:44
sf::Time
Represents a time value.
Definition
Time.hpp:41
sf
Definition
AlResource.hpp:35
sf::Int16
signed short Int16
Definition
Config.hpp:217
sf::Uint64
unsigned long long Uint64
Definition
Config.hpp:230
Back to top