20#ifndef INCLUDED_SLIDESHOW_SOURCE_INC_SOUNDPLAYER_HXX
21#define INCLUDED_SLIDESHOW_SOURCE_INC_SOUNDPLAYER_HXX
23#include <rtl/ustring.hxx>
25#include <com/sun/star/uno/XComponentContext.hpp>
26#include <com/sun/star/media/XPlayer.hpp>
40 class MediaFileManager;
64 static ::std::shared_ptr<SoundPlayer>
create(
66 const OUString& rSoundURL,
67 const css::uno::Reference< css::uno::XComponentContext>& rComponentContext,
88 virtual bool handlePause(
bool bPauseShow )
override;
91 virtual void dispose()
override;
96 const OUString& rSoundURL,
97 const css::uno::Reference< css::uno::XComponentContext>& rComponentContext,
103 ::std::shared_ptr<SoundPlayer>
mThis;
106 css::uno::Reference< css::media::XPlayer >
mxPlayer;
This class multiplexes user-activated and slide-show global events.
Interface for handling pause events.
Little class that plays a sound from a URL.
void setPlaybackLoop(bool bLoop)
css::uno::Reference< css::media::XPlayer > mxPlayer
virtual void dispose() override
Dispose all object references.
virtual bool handlePause(bool bPauseShow) override
Handle the event.
::std::shared_ptr< SoundPlayer > mThis
virtual ~SoundPlayer() override
::std::shared_ptr<::avmedia::MediaTempFile > mpMediaTempFile
SoundPlayer(EventMultiplexer &rEventMultiplexer, const OUString &rSoundURL, const css::uno::Reference< css::uno::XComponentContext > &rComponentContext, MediaFileManager &rMediaFileManager)
EventMultiplexer & mrEventMultiplexer
double getDuration() const
Query duration of sound playback.
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.
::std::shared_ptr< SoundPlayer > SoundPlayerSharedPtr