diff options
Diffstat (limited to 'offapi/com/sun/star/media/XPlayer.idl')
-rw-r--r-- | offapi/com/sun/star/media/XPlayer.idl | 142 |
1 files changed, 142 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 000000000..2d3dc234a --- /dev/null +++ b/offapi/com/sun/star/media/XPlayer.idl @@ -0,0 +1,142 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_media_XPlayer_idl__ +#define __com_sun_star_media_XPlayer_idl__ + +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/media/XPlayerWindow.idl> +#include <com/sun/star/media/XFrameGrabber.idl> + +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 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 com::sun::star::awt::Size + */ + ::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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |