LibreOffice Module slideshow (master) 1
|
Little class that plays a sound from a URL. More...
#include <soundplayer.hxx>
Public Member Functions | |
static ::std::shared_ptr< SoundPlayer > | create (EventMultiplexer &rEventMultiplexer, const OUString &rSoundURL, const css::uno::Reference< css::uno::XComponentContext > &rComponentContext, MediaFileManager &rMediaFileManager) |
Create a sound player object. More... | |
virtual | ~SoundPlayer () override |
double | getDuration () const |
Query duration of sound playback. More... | |
bool | startPlayback () |
bool | stopPlayback () |
bool | isPlaying () const |
void | setPlaybackLoop (bool bLoop) |
virtual bool | handlePause (bool bPauseShow) override |
Handle the event. More... | |
virtual void | dispose () override |
Dispose all object references. More... | |
virtual bool | handlePause (bool bPauseShow)=0 |
Handle the event. More... | |
Public Member Functions inherited from slideshow::internal::Disposable | |
virtual | ~Disposable () |
virtual void | dispose ()=0 |
Dispose all object references. More... | |
Private Member Functions | |
SoundPlayer (EventMultiplexer &rEventMultiplexer, const OUString &rSoundURL, const css::uno::Reference< css::uno::XComponentContext > &rComponentContext, MediaFileManager &rMediaFileManager) | |
Private Attributes | |
EventMultiplexer & | mrEventMultiplexer |
::std::shared_ptr< SoundPlayer > | mThis |
::std::shared_ptr<::avmedia::MediaTempFile > | mpMediaTempFile |
css::uno::Reference< css::media::XPlayer > | mxPlayer |
Additional Inherited Members | |
Protected Member Functions inherited from slideshow::internal::PauseEventHandler | |
~PauseEventHandler () | |
Little class that plays a sound from a URL.
TODO: Must be explicitly disposed (as long as enable_shared_ptr_from_this isn't available)!
Definition at line 47 of file soundplayer.hxx.
|
overridevirtual |
Definition at line 121 of file soundplayer.cxx.
References dispose(), and TOOLS_WARN_EXCEPTION.
|
private |
Definition at line 82 of file soundplayer.cxx.
References aURL, avmedia::MediaWindow::createPlayer(), ENSURE_OR_THROW, slideshow::internal::MediaFileManager::getMediaTempFile(), mpMediaTempFile, mxPlayer, and INetURLObject::Unambiguous.
Referenced by create().
std::shared_ptr< SoundPlayer > slideshow::internal::SoundPlayer::create | ( | EventMultiplexer & | rEventMultiplexer, |
const OUString & | rSoundURL, | ||
const css::uno::Reference< css::uno::XComponentContext > & | rComponentContext, | ||
MediaFileManager & | rMediaFileManager | ||
) |
Create a sound player object.
rSoundURL | URL to a sound file. |
rComponentContext | Reference to a component context, used to create the needed services |
css::lang::NoSupportException,if | the sound file is invalid, or not supported by the player service. |
Definition at line 42 of file soundplayer.cxx.
References slideshow::internal::EventMultiplexer::addPauseHandler(), and SoundPlayer().
Referenced by slideshow::internal::AnimationAudioNode::createPlayer().
|
overridevirtual |
Dispose all object references.
An implementor of this method must first call dispose() on any of its external references, and release them after that.
Implements slideshow::internal::Disposable.
Definition at line 63 of file soundplayer.cxx.
References mrEventMultiplexer, mThis, mxPlayer, and slideshow::internal::EventMultiplexer::removePauseHandler().
Referenced by ~SoundPlayer().
double slideshow::internal::SoundPlayer::getDuration | ( | ) | const |
Query duration of sound playback.
If the sound is already playing, this method returns the remaining playback time.
Definition at line 132 of file soundplayer.cxx.
References mxPlayer.
|
overridevirtual |
Handle the event.
bPauseShow | When true, the show is paused. When false, the show is started again |
Implements slideshow::internal::PauseEventHandler.
Definition at line 58 of file soundplayer.cxx.
References startPlayback(), and stopPlayback().
bool slideshow::internal::SoundPlayer::isPlaying | ( | ) | const |
Definition at line 171 of file soundplayer.cxx.
References mxPlayer.
void slideshow::internal::SoundPlayer::setPlaybackLoop | ( | bool | bLoop | ) |
Definition at line 165 of file soundplayer.cxx.
References mxPlayer.
bool slideshow::internal::SoundPlayer::startPlayback | ( | ) |
bool slideshow::internal::SoundPlayer::stopPlayback | ( | ) |
|
private |
Definition at line 105 of file soundplayer.hxx.
Referenced by SoundPlayer().
|
private |
Definition at line 100 of file soundplayer.hxx.
Referenced by dispose().
|
private |
Definition at line 103 of file soundplayer.hxx.
Referenced by dispose().
|
private |
Definition at line 106 of file soundplayer.hxx.
Referenced by dispose(), getDuration(), isPlaying(), setPlaybackLoop(), SoundPlayer(), startPlayback(), and stopPlayback().