summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/media/XPlayer.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/media/XPlayer.idl')
-rw-r--r--offapi/com/sun/star/media/XPlayer.idl182
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