Simple and Fast Multimedia Library
Documentation for SFML 2.3
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-2015 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
72
bool
openFromFile
(
const
std::string& filename);
73
85
bool
openFromMemory
(
const
void
* data, std::size_t sizeInBytes);
86
97
bool
openFromStream
(
InputStream
& stream);
98
109
bool
openForWriting
(
const
std::string& filename,
unsigned
int
channelCount,
unsigned
int
sampleRate);
110
117
Uint64
getSampleCount
()
const
;
118
125
unsigned
int
getChannelCount
()
const
;
126
133
unsigned
int
getSampleRate
()
const
;
134
144
Time
getDuration
()
const
;
145
159
void
seek
(
Uint64
sampleOffset);
160
173
void
seek
(
Time
timeOffset);
174
184
Uint64
read
(
Int16
* samples,
Uint64
maxCount);
185
186
private
:
187
192
void
close();
193
195
// Member data
197
SoundFileReader
* m_reader;
198
InputStream
* m_stream;
199
bool
m_streamOwned;
200
Uint64
m_sampleCount;
201
unsigned
int
m_channelCount;
202
unsigned
int
m_sampleRate;
203
};
204
205
}
// namespace sf
206
207
208
#endif
// SFML_INPUTSOUNDFILE_HPP
209
210
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:174
sf::Uint64
unsigned long long Uint64
Definition
Config.hpp:187
Back to top