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
Music.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_MUSIC_HPP
26
#define SFML_MUSIC_HPP
27
29
// Headers
31
#include <
SFML/Audio/Export.hpp
>
32
#include <
SFML/Audio/SoundStream.hpp
>
33
#include <
SFML/Audio/InputSoundFile.hpp
>
34
#include <
SFML/System/Mutex.hpp
>
35
#include <
SFML/System/Time.hpp
>
36
#include <string>
37
#include <vector>
38
39
40
namespace
sf
41
{
42
class
InputStream
;
43
48
class
SFML_AUDIO_API
Music
:
public
SoundStream
49
{
50
public
:
51
56
Music
();
57
62
~Music
();
63
83
bool
openFromFile
(
const
std::string& filename);
84
106
bool
openFromMemory
(
const
void
* data, std::size_t sizeInBytes);
107
127
bool
openFromStream
(
InputStream
& stream);
128
135
Time
getDuration
()
const
;
136
137
protected
:
138
150
virtual
bool
onGetData
(
Chunk
& data);
151
158
virtual
void
onSeek
(
Time
timeOffset);
159
160
private
:
161
166
void
initialize();
167
169
// Member data
171
InputSoundFile
m_file;
172
Time
m_duration;
173
std::vector<Int16> m_samples;
174
Mutex
m_mutex;
175
};
176
177
}
// namespace sf
178
179
180
#endif
// SFML_MUSIC_HPP
181
182
Export.hpp
SFML_AUDIO_API
#define SFML_AUDIO_API
Definition
Audio/Export.hpp:43
InputSoundFile.hpp
Mutex.hpp
SoundStream.hpp
Time.hpp
sf::InputSoundFile
Provide read access to sound files.
Definition
InputSoundFile.hpp:47
sf::InputStream
Abstract class for custom file input streams.
Definition
InputStream.hpp:42
sf::Music::Music
Music()
Default constructor.
sf::Music::onSeek
virtual void onSeek(Time timeOffset)
Change the current playing position in the stream source.
sf::Music::getDuration
Time getDuration() const
Get the total duration of the music.
sf::Music::openFromFile
bool openFromFile(const std::string &filename)
Open a music from an audio file.
sf::Music::~Music
~Music()
Destructor.
sf::Music::openFromStream
bool openFromStream(InputStream &stream)
Open a music from an audio file in a custom stream.
sf::Music::onGetData
virtual bool onGetData(Chunk &data)
Request a new chunk of audio samples from the stream source.
sf::Music::openFromMemory
bool openFromMemory(const void *data, std::size_t sizeInBytes)
Open a music from an audio file in memory.
sf::Mutex
Blocks concurrent access to shared resources from multiple threads.
Definition
Mutex.hpp:48
sf::SoundStream::SoundStream
SoundStream()
Default constructor.
sf::Time
Represents a time value.
Definition
Time.hpp:41
sf
Definition
AlResource.hpp:35
sf::SoundStream::Chunk
Structure defining a chunk of audio data to stream.
Definition
SoundStream.hpp:54
Back to top