1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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.
33 /** starts reading the stream from the current position.
37 /** stops reading the stream and leave the cursor at its current
42 /** indicates whether the stream is played or not.
45 <TRUE/> if the stream is played, <FALSE/> otherwise
49 /** gets the stream length
52 the stream length in second
56 /** sets the new cursor position in the media stream. After using
57 this method the stream is stopped.
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
67 the cursor position in seconds
69 double getMediaTime
();
71 /** gets the speed of the stream reading relatively to the normal
75 the relative speed. <code>1.0</code> is the normal speed.
79 /** sets whether the stream reading should restart at the stream
80 start after the end of the stream.
83 loops if set to <TRUE/>, otherwise stops at the end of the
86 void setPlaybackLoop
( [in] boolean bSet
);
88 /** indicates whether the stream reading will restart after the
92 <TRUE/> if the stream will loop, <FALSE/> otherwise.
94 boolean isPlaybackLoop
();
96 /** sets the audio volume in decibel.
99 the new volume in Decibel
101 void setVolumeDB
( [in] short nDB
);
103 /** gets the current audio volume in decibel
106 the volume in decibel
110 /** sets the volume to <code>0</code> or to its previous value.
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>
122 <TRUE/> if the volume is temporarily set to <code>0</code>,
127 /** gets the preferred window size
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
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
();
150 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */