RingTone::Player Class Reference
Base class to support playback of tunes. More...
#include <RingTonePlayer.h>
Public Types | |
using | PrepareNoteDelegate = Delegate< void(unsigned frequency)> |
using | CompleteDelegate = Delegate< void()> |
using | PlayNoteDelegate = Delegate< void()> |
Public Member Functions | |
Player () | |
~Player () | |
void | begin (RingTone::Parser *parser) |
Initialise player. More... | |
void | end () |
Stop the player and un-reference parser. More... | |
bool | start (unsigned delayMs=0) |
Start or continue playing the tune. More... | |
void | stop () |
Stop/pause playing the tune. More... | |
void | resetPlayTime () |
Stop playback and reset play time. More... | |
bool | isStarted () |
Determine if a tune is being played. More... | |
void | onPrepareNote (PrepareNoteDelegate delegate) |
void | onPlayNote (PlayNoteDelegate delegate) |
void | onComplete (CompleteDelegate delegate) |
const NanoTime::Time< uint32_t > | getPlayTime () |
unsigned | getSpeed () const |
Get playback speed factor. More... | |
unsigned | setSpeed (unsigned speed) |
Set playback speed factor. More... | |
unsigned | adjustSpeed (int adjust) |
Make a relative adjustment to playback speed. More... | |
Protected Member Functions | |
virtual void | prepareNote (unsigned frequency) |
Prepare a tone to be played @frequency Frequency of tone, in Hz. 0 means 'mute'. More... | |
virtual void | playNote () |
Play a prepared tone. More... | |
virtual void | complete () |
Override this method to be called when a tune has finished playing. More... | |
Detailed Description
Base class to support playback of tunes.
- Note
- This class doesn't produce any sound. To do this provide set the
onPrepareNote
andonPlayNote
callbacks, or override theprepareNote
andplayNote
methods in an inherited class.
Member Typedef Documentation
◆ CompleteDelegate
using RingTone::Player::CompleteDelegate = Delegate<void()> |
◆ PlayNoteDelegate
using RingTone::Player::PlayNoteDelegate = Delegate<void()> |
◆ PrepareNoteDelegate
using RingTone::Player::PrepareNoteDelegate = Delegate<void(unsigned frequency)> |
Constructor & Destructor Documentation
◆ Player()
|
inline |
◆ ~Player()
|
inline |
Member Function Documentation
◆ adjustSpeed()
|
inline |
Make a relative adjustment to playback speed.
- Return values
-
unsigned New speed factor
◆ begin()
void RingTone::Player::begin | ( | RingTone::Parser * | parser | ) |
Initialise player.
- Parameters
-
parser The source of ringtone data
- Note
- We don't own the parser, just take a reference
◆ complete()
|
inlineprotectedvirtual |
Override this method to be called when a tune has finished playing.
- Note
- This doesn't get called if manually stopped
◆ end()
void RingTone::Player::end | ( | ) |
Stop the player and un-reference parser.
◆ getPlayTime()
|
inline |
◆ getSpeed()
|
inline |
Get playback speed factor.
- Return values
-
unsigned 100 = normal speed, 50 = half speed, 200 = double speed, etc.
◆ isStarted()
|
inline |
Determine if a tune is being played.
◆ onComplete()
|
inline |
◆ onPlayNote()
|
inline |
◆ onPrepareNote()
|
inline |
◆ playNote()
|
inlineprotectedvirtual |
Play a prepared tone.
◆ prepareNote()
|
inlineprotectedvirtual |
Prepare a tone to be played @frequency Frequency of tone, in Hz. 0 means 'mute'.
◆ resetPlayTime()
|
inline |
Stop playback and reset play time.
◆ setSpeed()
Set playback speed factor.
- Return values
-
unsigned New speed factor
◆ start()
bool RingTone::Player::start | ( | unsigned | delayMs = 0 | ) |
Start or continue playing the tune.
◆ stop()
void RingTone::Player::stop | ( | ) |
Stop/pause playing the tune.
The documentation for this class was generated from the following file: