bump product version to 4.1.6.2
[LibreOffice.git] / offapi / com / sun / star / media / XPlayer.idl
blob38756447e552e53cd1782c623a67d98941721179
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /**
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_media_XPlayer_idl__
20 #define __com_sun_star_media_XPlayer_idl__
22 #include <com/sun/star/awt/Size.idl>
23 #include <com/sun/star/media/XPlayerWindow.idl>
24 #include <com/sun/star/media/XFrameGrabber.idl>
26 module com { module sun { module star { module media {
28 /** is the multimedia stream handling interface. This allows to
29 perform every basic operation on videos and sounds.
31 interface XPlayer
33 /** starts reading the stream from the current position.
35 void start();
37 /** stops reading the stream and leave the cursor at its current
38 position.
40 void stop();
42 /** indicates whether the stream is played or not.
44 @returns
45 <TRUE/> if the stream is played, <FALSE/> otherwise
47 boolean isPlaying();
49 /** gets the stream length
51 @returns
52 the stream length in second
54 double getDuration();
56 /** sets the new cursor position in the media stream. After using
57 this method the stream is stopped.
59 @param fTime
60 the new position to set in seconds
62 void setMediaTime( [in] double fTime );
64 /** gets the current position of the cursor in the stream
66 @returns
67 the cursor position in seconds
69 double getMediaTime();
71 /** gets the speed of the stream reading relatively to the normal
72 reading.
74 @returns
75 the relative speed. <code>1.0</code> is the normal speed.
77 double getRate();
79 /** sets whether the stream reading should restart at the stream
80 start after the end of the stream.
82 @param bSet
83 loops if set to <TRUE/>, otherwise stops at the end of the
84 stream.
86 void setPlaybackLoop( [in] boolean bSet );
88 /** indicates whether the stream reading will restart after the
89 end of the stream.
91 @returns
92 <TRUE/> if the stream will loop, <FALSE/> otherwise.
94 boolean isPlaybackLoop();
96 /** sets the audio volume in decibel.
98 @param nDB
99 the new volume in Decibel
101 void setVolumeDB( [in] short nDB );
103 /** gets the current audio volume in decibel
105 @returns
106 the volume in decibel
108 short getVolumeDB();
110 /** sets the volume to <code>0</code> or to its previous value.
112 @param bSet
113 sets the volume to <code>0</code> if <TRUE/>, and switch
114 to the previous non-null value if <FALSE/>
116 void setMute( [in] boolean bSet );
118 /** gets whether the volume is temporarily down to <code>0</code>
119 or not.
121 @returns
122 <TRUE/> if the volume is temporarily set to <code>0</code>,
123 <FALSE/> otherwise.
125 boolean isMute();
127 /** gets the preferred window size
129 @returns
130 the <type scope="com::sun::star::awt">Size</type>
132 ::com::sun::star::awt::Size getPreferredPlayerWindowSize();
134 /** gets a new player window for this stream control
136 @param aArguments
137 arguments passed to the window during its creation.
139 XPlayerWindow createPlayerWindow( [in] sequence< any > aArguments );
141 /** gets a frame grabber for this stream.
143 XFrameGrabber createFrameGrabber();
146 }; }; }; };
148 #endif
150 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */