Simple and Fast Multimedia Library
Documentation for SFML 2.4.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-2016 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
36
37
namespace
sf
38
{
39
class
InputStream
;
40
class
SoundFileReader
;
41
46
class
SFML_AUDIO_API
InputSoundFile
:
NonCopyable
47
{
48
public
:
49
54
InputSoundFile
();
55
60
~InputSoundFile
();
61
73
bool
openFromFile
(
const
std::string& filename);
74
87
bool
openFromMemory
(
const
void
* data, std::size_t sizeInBytes);
88
100
bool
openFromStream
(
InputStream
& stream);
101
112
bool
openForWriting
(
const
std::string& filename,
unsigned
int
channelCount,
unsigned
int
sampleRate);
113
120
Uint64
getSampleCount
()
const
;
121
128
unsigned
int
getChannelCount
()
const
;
129
136
unsigned
int
getSampleRate
()
const
;
137
147
Time
getDuration
()
const
;
148
165
void
seek
(
Uint64
sampleOffset);
166
179
void
seek
(
Time
timeOffset);
180
190
Uint64
read
(
Int16
* samples,
Uint64
maxCount);
191
192
private
:
193
198
void
close();
199
201
// Member data
203
SoundFileReader
* m_reader;
204
InputStream
* m_stream;
205
bool
m_streamOwned;
206
Uint64
m_sampleCount;
207
unsigned
int
m_channelCount;
208
unsigned
int
m_sampleRate;
209
};
210
211
}
// namespace sf
212
213
214
#endif
// SFML_INPUTSOUNDFILE_HPP
215
216
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::read
Uint64 read(Int16 *samples, Uint64 maxCount)
Read audio samples from the open file.
sf::InputSoundFile::openForWriting
bool openForWriting(const std::string &filename, unsigned int channelCount, unsigned int sampleRate)
Open the sound file from the disk for writing.
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::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:212
sf::Uint64
unsigned long long Uint64
Definition
Config.hpp:225
Back to top