Simple and Fast Multimedia Library
Documentation for SFML 2.6.2
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-2023 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 <cstddef>
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
79
bool
openFromFile
(
const
std::string& filename);
80
93
bool
openFromMemory
(
const
void
* data, std::size_t sizeInBytes);
94
106
bool
openFromStream
(
InputStream
& stream);
107
114
Uint64
getSampleCount
()
const
;
115
122
unsigned
int
getChannelCount
()
const
;
123
130
unsigned
int
getSampleRate
()
const
;
131
141
Time
getDuration
()
const
;
142
149
Time
getTimeOffset
()
const
;
150
157
Uint64
getSampleOffset
()
const
;
158
176
void
seek
(
Uint64
sampleOffset);
177
190
void
seek
(
Time
timeOffset);
191
201
Uint64
read
(
Int16
* samples,
Uint64
maxCount);
202
207
void
close
();
208
209
private
:
210
212
// Member data
214
SoundFileReader
* m_reader;
215
InputStream
* m_stream;
216
bool
m_streamOwned;
217
Uint64
m_sampleOffset;
218
Uint64
m_sampleCount;
219
unsigned
int
m_channelCount;
220
unsigned
int
m_sampleRate;
221
};
222
223
}
// namespace sf
224
225
226
#endif
// SFML_INPUTSOUNDFILE_HPP
227
228
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::close
void close()
Close the current file.
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:222
sf::Uint64
unsigned long long Uint64
Definition
Config.hpp:239
Back to top