blob: 2d3dc234a0bc9e6da66a473eb61513ded6adbaaa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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: */
|