JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_SoundPlayer.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
38class JUCE_API SoundPlayer : public AudioIODeviceCallback
39{
40public:
41 //==============================================================================
43
45 ~SoundPlayer() override;
46
47 //==============================================================================
49 void play (const File& file);
50
52 void play (const void* resourceData, size_t resourceSize);
53
59 void play (AudioFormatReader* buffer, bool deleteWhenFinished = false);
60
86 void play (PositionableAudioSource* audioSource, bool deleteWhenFinished = false,
87 double sampleRateOfSource = 0.0);
88
100 void play (AudioBuffer<float>* buffer,
101 bool deleteWhenFinished = false,
102 bool playOnAllOutputChannels = false);
103
109 void playTestSound();
110
111 //==============================================================================
113 void audioDeviceIOCallbackWithContext (const float* const*, int, float* const*, int, int, const AudioIODeviceCallbackContext&) override;
115 void audioDeviceAboutToStart (AudioIODevice*) override;
117 void audioDeviceStopped() override;
119 void audioDeviceError (const String& errorMessage) override;
120
121private:
122 //==============================================================================
123 AudioFormatManager formatManager;
124 AudioSourcePlayer player;
125 MixerAudioSource mixer;
127
128 //==============================================================================
129 double sampleRate;
130 int bufferSize;
131
132 //==============================================================================
134};
135
136} // namespace juce
A multi-channel buffer containing floating point audio samples.
A class for keeping a list of available audio formats, and for deciding which one to use to open a gi...
Reads samples from an audio file stream.
One of these is passed to an AudioIODevice object to stream the audio data in and out.
Base class for an audio device with synchronised input and output channels.
Wrapper class to continuously stream audio from an audio source to an AudioIODevice.
Represents a local file or directory.
Definition juce_File.h:45
An AudioSource that mixes together the output of a set of other AudioSources.
An array designed for holding objects.
A type of AudioSource which can be repositioned.
A simple sound player that you can add to the AudioDeviceManager to play simple sounds.
The JUCE String class!
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
Additional information that may be passed to the AudioIODeviceCallback.