Audaspace
1.9.0
A high level audio library.
Toggle main menu visibility
Loading...
Searching...
No Matches
file
File.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* Copyright 2009-2016 Jörg Müller
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
******************************************************************************/
16
17
#pragma once
18
24
25
#include "
ISound.h
"
26
#include "
FileInfo.h
"
27
28
#include <string>
29
#include <memory>
30
#include <vector>
31
32
AUD_NAMESPACE_BEGIN
33
34
class
Buffer
;
35
40
class
AUD_API
File :
public
ISound
41
{
42
private
:
46
std::string m_filename;
47
51
std::shared_ptr<Buffer> m_buffer;
52
59
int
m_stream;
60
61
// delete copy constructor and operator=
62
File(
const
File&) =
delete
;
63
File& operator=(
const
File&) =
delete
;
64
65
public
:
72
File
(
const
std::string &filename,
int
stream = 0);
73
81
File
(
const
data_t
* buffer,
int
size,
int
stream = 0);
82
88
std::vector<StreamInfo>
queryStreams
();
89
90
virtual
std::shared_ptr<IReader>
createReader
();
91
};
92
93
AUD_NAMESPACE_END
AUD_NAMESPACE_END
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition
Audaspace.h:119
AUD_NAMESPACE_BEGIN
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition
Audaspace.h:116
AUD_API
#define AUD_API
Used for exporting symbols in the shared library.
Definition
Audaspace.h:93
data_t
unsigned char data_t
Sample data type (format samples).
Definition
Audaspace.h:129
FileInfo.h
The FileInfo data structures.
ISound.h
The ISound interface.
Buffer
This class is a simple buffer in RAM which is 32 Byte aligned and provides resize functionality.
Definition
Buffer.h:34
File::File
File(const std::string &filename, int stream=0)
Creates a new sound.
File::File
File(const data_t *buffer, int size, int stream=0)
Creates a new sound.
File::queryStreams
std::vector< StreamInfo > queryStreams()
Queries the streams of the file.
File::createReader
virtual std::shared_ptr< IReader > createReader()
Creates a reader for playback of the sound source.
ISound
This class represents a type of sound source and saves the necessary values for it.
Definition
ISound.h:40
Generated by
1.17.0