diff options
Diffstat (limited to 'offapi/com/sun/star/media/XPlayer.idl')
-rw-r--r-- | offapi/com/sun/star/media/XPlayer.idl | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/offapi/com/sun/star/media/XPlayer.idl b/offapi/com/sun/star/media/XPlayer.idl new file mode 100644 index 000000000000..7546e9d27d8c --- /dev/null +++ b/offapi/com/sun/star/media/XPlayer.idl @@ -0,0 +1,182 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_media_XPlayer_idl__ +#define __com_sun_star_media_XPlayer_idl__ + +#ifndef __com_sun_star_awt_Size_idl__ +#include <com/sun/star/awt/Size.idl> +#endif +#ifndef __com_sun_star_media_XPlayerWindow_idl__ +#include <com/sun/star/media/XPlayerWindow.idl> +#endif +#ifndef __com_sun_star_media_XFrameGrabber_idl__ +#include <com/sun/star/media/XFrameGrabber.idl> +#endif + +module com { module sun { module star { module media { + +/** is the multimedia stream handling interface. This allows to + perform every basic operation on videos and sounds. + */ +interface XPlayer +{ + /** starts reading the stream from the current position. + */ + void start(); + + /** stops reading the stream and leave the cursor at its current + position. + */ + void stop(); + + /** indicates whether the stream is played or not. + + @returns + <TRUE/> if the stream is played, <FALSE/> otherwise + */ + boolean isPlaying(); + + /** gets the stream length + + @returns + the stream length in second + */ + double getDuration(); + + /** sets the new cursor position in the media stream. After using + this method the stream is stopped. + + @param fTime + the new position to set in seconds + */ + void setMediaTime( [in] double fTime ); + + /** gets the current position of the cursor in the stream + + @returns + the cursor position in seconds + */ + double getMediaTime(); + + /** sets the time at which to stop reading the stream. + + @param fTime + the time at which to stop reading the stream in seconds + */ + void setStopTime( [in] double fTime ); + + /** gets the time at which the stream will stop. The result + is not guaranteed if no stop time has been set. + */ + double getStopTime(); + + /** sets the speed of the stream reading relatively to the normal + speed. + + @param fRate + the stream reading rate. <code>1.0</code> means normal speed. + */ + void setRate( [in] double fRate ); + + /** gets the speed of the stream reading relatively to the normal + reading. + + @returns + the relative speed. <code>1.0</code> is the normal speed. + */ + double getRate(); + + /** sets whether the stream reading should restart at the stream + start after the end of the stream. + + @param bSet + loops if set to <TRUE/>, otherwise stops at the end of the + stream. + */ + void setPlaybackLoop( [in] boolean bSet ); + + /** indicates whether the stream reading will restart after the + end of the stream. + + @returns + <TRUE/> if the stream will loop, <FALSE/> otherwise. + */ + boolean isPlaybackLoop(); + + /** sets the audio volume in decibel. + + @param nDB + the new volume in Decibel + */ + void setVolumeDB( [in] short nDB ); + + /** gets the current audio volume in decibel + + @returns + the volume in decibel + */ + short getVolumeDB(); + + /** sets the volume to <code>0</code> or to its previous value. + + @param bSet + sets the volume to <code>0</code> if <TRUE/>, and switch + to the previous non-null value if <FALSE/> + */ + void setMute( [in] boolean bSet ); + + /** gets whether the volume is temporarily down to <code>0</code> + or not. + + @returns + <TRUE/> if the volume is temporarily set to <code>0</code>, + <FALSE/> otherwise. + */ + boolean isMute(); + + /** gets the preferred window size + + @returns + the <type scope="com::sun::star::awt">Size</type> + */ + ::com::sun::star::awt::Size getPreferredPlayerWindowSize(); + + /** gets a new player window for this stream control + + @param aArguments + arguments passed to the window during its creation. + */ + XPlayerWindow createPlayerWindow( [in] sequence< any > aArguments ); + + /** gets a frame grabber for this stream. + */ + XFrameGrabber createFrameGrabber(); +}; + +}; }; }; }; + +#endif |