1 |
1 |
2 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
3 // All rights reserved. |
3 // All rights reserved. |
4 // This component and the accompanying materials are made available |
4 // This component and the accompanying materials are made available |
5 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
5 // under the terms of "Eclipse Public License v1.0" |
6 // which accompanies this distribution, and is available |
6 // which accompanies this distribution, and is available |
7 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
7 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8 // |
8 // |
9 // Initial Contributors: |
9 // Initial Contributors: |
10 // Nokia Corporation - initial contribution. |
10 // Nokia Corporation - initial contribution. |
11 // |
11 // |
12 // Contributors: |
12 // Contributors: |
147 |
147 |
148 @param aCallBack |
148 @param aCallBack |
149 A callback to notify the client when the input stream has been initialised and is ready for |
149 A callback to notify the client when the input stream has been initialised and is ready for |
150 use. The caller must create a callback class which implements this interface. |
150 use. The caller must create a callback class which implements this interface. |
151 @param aPriority |
151 @param aPriority |
152 This client's relative priority. This is a value between EMdaPriorityMin and EMdaPriorityMax and |
152 The Priority Value - this client's relative priority. This is a value between EMdaPriorityMin and |
153 represents a relative priority. A higher value indicates a more important request. |
153 EMdaPriorityMax and represents a relative priority. A higher value indicates a more important request. |
154 @param aPref |
154 @param aPref |
155 The required behaviour if a higher priority client takes over the sound output device. |
155 The Priority Preference - an additional audio policy parameter. The suggested default is |
|
156 EMdaPriorityPreferenceNone. Further values are given by TMdaPriorityPreference, and additional |
|
157 values may be supported by given phones and/or platforms, but should not be depended upon by |
|
158 portable code. |
156 |
159 |
157 @return A pointer to the audio input stream object. |
160 @return A pointer to the audio input stream object. |
158 |
161 |
159 @capability MultimediaDD |
|
160 A process requesting or using this method that has MultimediaDD capability will |
|
161 always have precedence over a process that does not have MultimediaDD. |
|
162 |
|
163 @capability UserEnvironment |
162 @capability UserEnvironment |
164 For recording - the requesting client process must have a |
163 For recording - the requesting client process must have a |
165 UserEnvironment capability. |
164 UserEnvironment capability. |
|
165 |
|
166 Note: The Priority Value and Priority Preference are used primarily when deciding what to do when |
|
167 several audio clients attempt to play or record simultaneously. In addition to the Priority Value and Preference, |
|
168 the adaptation may consider other parameters such as the SecureId and Capabilities of the client process. |
|
169 Whatever, the decision as to what to do in such situations is up to the audio adaptation, and may |
|
170 vary between different phones. Portable applications are advised not to assume any specific behaviour. |
166 */ |
171 */ |
167 IMPORT_C static CMdaAudioInputStream* NewL(MMdaAudioInputStreamCallback& aCallBack, |
172 IMPORT_C static CMdaAudioInputStream* NewL(MMdaAudioInputStreamCallback& aCallBack, |
168 TInt aPriority, TMdaPriorityPreference aPref); |
173 TInt aPriority, TInt aPref); |
169 |
174 |
170 /** |
175 /** |
171 Destructor. |
176 Destructor. |
172 |
177 |
173 Frees all resources owned by the object prior to its destruction. |
178 Frees all resources owned by the object prior to its destruction. |
242 Sets the audio priority values. |
247 Sets the audio priority values. |
243 |
248 |
244 This function cannot be used while the stream object is open. It is intended for use before an Open() |
249 This function cannot be used while the stream object is open. It is intended for use before an Open() |
245 is issued, or between a previous Stop() and a new Open(). |
250 is issued, or between a previous Stop() and a new Open(). |
246 |
251 |
247 @param aPriority |
252 @param aPriority |
248 The priority level to apply, EMdaPriorityMin means the client can be interrupted by any other client, EMdaPriorityNormal |
253 The Priority Value. |
249 means the client is only interrupted by clients with a higher priority and EMdaPriorityMax means the client cannot be interrupted by |
254 @param aPref |
250 other clients. |
255 The Priority Preference. |
251 @param aPref |
256 |
252 A set of priority values that define the behaviour to be adopted by a client using a sound device if a higher priority |
257 @see CMdaAudioInputStream::NewL() |
253 client takes over that device. |
258 */ |
254 |
259 IMPORT_C void SetPriority(TInt aPriority, TInt aPref); |
255 @capability MultimediaDD |
|
256 A process requesting or using this method that has MultimediaDD capability will |
|
257 always have precedence over a process that does not have MultimediaDD. |
|
258 */ |
|
259 IMPORT_C void SetPriority(TInt aPriority, TMdaPriorityPreference aPref); |
|
260 |
260 |
261 /** |
261 /** |
262 Records streaming raw audio data. |
262 Records streaming raw audio data. |
263 |
263 |
264 If this is the first ReadL() after a successful Open() this function starts the audio recording process. |
264 If this is the first ReadL() after a successful Open() this function starts the audio recording process. |