• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit AudioKit
19 */
20
21import type { AsyncCallback } from './@ohos.base';
22import type Context from './application/Context';
23import type BaseContext from './application/BaseContext';
24import type { RingtonePlayer as _RingtonePlayer } from './multimedia/ringtonePlayer';
25import type { RingtoneOptions as _RingtoneOptions } from './multimedia/ringtonePlayer';
26import type { SystemTonePlayer as _SystemTonePlayer } from './multimedia/systemTonePlayer';
27import type { SystemToneOptions as _SystemToneOptions } from './multimedia/systemTonePlayer';
28
29/**
30 * Provides ringtone player interfaces.
31 *
32 * @namespace systemSoundManager
33 * @syscap SystemCapability.Multimedia.SystemSound.Core
34 * @systemapi
35 * @since 10
36 */
37declare namespace systemSoundManager {
38
39  /**
40   * Error enum for system sound.
41   * @enum { number }
42   * @syscap SystemCapability.Multimedia.SystemSound.Core
43   * @systemapi
44   * @since 20
45   */
46  enum SystemSoundError {
47    /**
48     * IO error.
49     * @syscap SystemCapability.Multimedia.SystemSound.Core
50     * @systemapi
51     * @since 20
52     */
53    ERROR_IO = 5400103,
54
55    /**
56     * No error.
57     * @syscap SystemCapability.Multimedia.SystemSound.Core
58     * @systemapi
59     * @since 20
60     */
61    ERROR_OK = 20700000,
62
63    /**
64     * Type mismatch.
65     * @syscap SystemCapability.Multimedia.SystemSound.Core
66     * @systemapi
67     * @since 20
68     */
69    ERROR_TYPE_MISMATCH = 20700001,
70
71    /**
72     * Unsupported operation.
73     * @syscap SystemCapability.Multimedia.SystemSound.Core
74     * @systemapi
75     * @since 20
76     */
77    ERROR_UNSUPPORTED_OPERATION = 20700003,
78
79    /**
80     * Data size exceeds the limit.
81     * @syscap SystemCapability.Multimedia.SystemSound.Core
82     * @systemapi
83     * @since 20
84     */
85    ERROR_DATA_TOO_LARGE = 20700004,
86
87    /**
88     * The number of files exceeds the limit.
89     * @syscap SystemCapability.Multimedia.SystemSound.Core
90     * @systemapi
91     * @since 20
92     */
93    ERROR_TOO_MANY_FILES = 20700005,
94
95    /**
96     * Insufficient ROM space.
97     * @syscap SystemCapability.Multimedia.SystemSound.Core
98     * @systemapi
99     * @since 20
100     */
101    ERROR_INSUFFICIENT_ROM = 20700006,
102
103    /**
104     * Invalid parameter.
105     * @syscap SystemCapability.Multimedia.SystemSound.Core
106     * @systemapi
107     * @since 20
108     */
109    ERROR_INVALID_PARAM = 20700007
110  }
111
112  /**
113   * Enum for ringtone type.
114   * @enum { number }
115   * @syscap SystemCapability.Multimedia.SystemSound.Core
116   * @systemapi
117   * @since 10
118   */
119  enum RingtoneType {
120    /**
121     * Default type.
122     * @syscap SystemCapability.Multimedia.SystemSound.Core
123     * @systemapi
124     * @since 10
125     * @deprecated since 11
126     * @useinstead systemSoundManager.RingtoneType#RINGTONE_TYPE_SIM_CARD_0
127     */
128    RINGTONE_TYPE_DEFAULT = 0,
129
130    /**
131     * Ringtone type for sim card 0.
132     * @syscap SystemCapability.Multimedia.SystemSound.Core
133     * @systemapi
134     * @since 11
135     */
136    RINGTONE_TYPE_SIM_CARD_0 = 0,
137
138    /**
139     * Multi-sim type.
140     * @syscap SystemCapability.Multimedia.SystemSound.Core
141     * @systemapi
142     * @since 10
143     * @deprecated since 11
144     * @useinstead systemSoundManager.RingtoneType#RINGTONE_TYPE_SIM_CARD_1
145     */
146    RINGTONE_TYPE_MULTISIM = 1,
147
148    /**
149     * Ringtone type for sim card 1.
150     * @syscap SystemCapability.Multimedia.SystemSound.Core
151     * @systemapi
152     * @since 11
153     */
154    RINGTONE_TYPE_SIM_CARD_1 = 1,
155  }
156
157  /**
158   * Enum for system tone type.
159   * @enum { number }
160   * @syscap SystemCapability.Multimedia.SystemSound.Core
161   * @systemapi
162   * @since 11
163   */
164  enum SystemToneType {
165    /**
166     * System tone type for sim card 0.
167     * @syscap SystemCapability.Multimedia.SystemSound.Core
168     * @systemapi
169     * @since 11
170     */
171    SYSTEM_TONE_TYPE_SIM_CARD_0 = 0,
172
173    /**
174     * System tone type for sim card 1.
175     * @syscap SystemCapability.Multimedia.SystemSound.Core
176     * @systemapi
177     * @since 11
178     */
179    SYSTEM_TONE_TYPE_SIM_CARD_1 = 1,
180
181    /**
182     * System tone type notification.
183     * @syscap SystemCapability.Multimedia.SystemSound.Core
184     * @systemapi
185     * @since 11
186     */
187    SYSTEM_TONE_TYPE_NOTIFICATION = 32,
188  }
189
190  /**
191   * Enum for tone customized type.
192   * @enum {number}
193   * @syscap SystemCapability.Multimedia.SystemSound.Core
194   * @systemapi
195   * @since 12
196   */
197  enum ToneCustomizedType {
198    /**
199     * Pre-installed tone type.
200     * @syscap SystemCapability.Multimedia.SystemSound.Core
201     * @systemapi
202     * @since 12
203     */
204    PRE_INSTALLED = 0,
205    /**
206     * Customized tone type.
207     * @syscap SystemCapability.Multimedia.SystemSound.Core
208     * @systemapi
209     * @since 12
210     */
211    CUSTOMIZED = 1,
212  }
213
214  /**
215   * Enum for media type.
216   * @enum { number }
217   * @syscap SystemCapability.Multimedia.SystemSound.Core
218   * @systemapi
219   * @since 20
220   */
221  enum MediaType {
222    /**
223     * Media type for audio.
224     * @syscap SystemCapability.Multimedia.SystemSound.Core
225     * @systemapi
226     * @since 20
227     */
228    AUDIO = 0,
229
230    /**
231     * Media type for vide.
232     * @syscap SystemCapability.Multimedia.SystemSound.Core
233     * @systemapi
234     * @since 20
235     */
236    VIDEO = 1,
237  }
238
239  /**
240   * Define the ringtone category.
241   * @syscap SystemCapability.Multimedia.SystemSound.Core
242   * @systemapi
243   * @since 12
244   */
245  const TONE_CATEGORY_RINGTONE: number;
246
247  /**
248   * Define the text message tone category.
249   * @syscap SystemCapability.Multimedia.SystemSound.Core
250   * @systemapi
251   * @since 12
252   */
253  const TONE_CATEGORY_TEXT_MESSAGE:number;
254
255  /**
256   * Define the notification tone category.
257   * @syscap SystemCapability.Multimedia.SystemSound.Core
258   * @systemapi
259   * @since 12
260   */
261  const TONE_CATEGORY_NOTIFICATION:number;
262
263  /**
264   * Define the alarm tone category.
265   * @syscap SystemCapability.Multimedia.SystemSound.Core
266   * @systemapi
267   * @since 12
268   */
269  const TONE_CATEGORY_ALARM:number;
270
271  /**
272   * Define the contact tone category.
273   * @constant
274   * @syscap SystemCapability.Multimedia.SystemSound.Core
275   * @systemapi
276   * @since 20
277   */
278  const TONE_CATEGORY_CONTACTS:16;
279
280  /**
281   * Tone attributes.
282   * @typedef ToneAttrs
283   * @syscap SystemCapability.Multimedia.SystemSound.Core
284   * @systemapi
285   * @since 12
286   */
287  interface ToneAttrs {
288    /**
289     * Gets title of tone.
290     * @returns { string } title.
291     * @throws { BusinessError } 202 - Caller is not a system application.
292     * @syscap SystemCapability.Multimedia.SystemSound.Core
293     * @systemapi
294     * @since 12
295     */
296    getTitle(): string;
297
298    /**
299     * Sets title of tone.
300     * @param { string } title - Title of tone.
301     * @throws { BusinessError } 202 - Caller is not a system application.
302     * @throws { BusinessError } 401 - Parameter error. Possible causes:
303     *                                 1.Mandatory parameters are left unspecified;
304     *                                 2.Incorrect parameter types.
305     * @syscap SystemCapability.Multimedia.SystemSound.Core
306     * @systemapi
307     * @since 12
308     */
309    setTitle(title: string): void;
310
311    /**
312     * Gets file name of tone.
313     * @returns { string } file name.
314     * @throws { BusinessError } 202 - Caller is not a system application.
315     * @syscap SystemCapability.Multimedia.SystemSound.Core
316     * @systemapi
317     * @since 12
318     */
319    getFileName(): string;
320
321    /**
322     * Sets file name of tone.
323     * @param { string } name - file name.
324     * @throws { BusinessError } 202 - Caller is not a system application.
325     * @throws { BusinessError } 401 - Parameter error. Possible causes:
326     *                                 1.Mandatory parameters are left unspecified;
327     *                                 2.Incorrect parameter types.
328     * @syscap SystemCapability.Multimedia.SystemSound.Core
329     * @systemapi
330     * @since 12
331     */
332    setFileName(name: string): void;
333
334    /**
335     * Gets uri of tone.
336     * @returns { string } uri.
337     * @throws { BusinessError } 202 - Caller is not a system application.
338     * @syscap SystemCapability.Multimedia.SystemSound.Core
339     * @systemapi
340     * @since 12
341     */
342    getUri(): string;
343
344    /**
345     * Gets customized type of tone.
346     * @returns { ToneCustomizedType } Customized type of tone.
347     * @throws { BusinessError } 202 - Caller is not a system application.
348     * @syscap SystemCapability.Multimedia.SystemSound.Core
349     * @systemapi
350     * @since 12
351     */
352    getCustomizedType(): ToneCustomizedType;
353
354    /**
355     * Sets tone category.
356     * @param { number } category - tone category. This parameter can be one of {@link TONE_CATEGORY_RINGTONE},
357     * {@link TONE_CATEGORY_TEXT_MESSAGE}, {@link TONE_CATEGORY_NOTIFICATION}, {@link TONE_CATEGORY_ALARM}.
358     * In addition, this parameter can be result of OR logical operator of these constants.
359     * @throws { BusinessError } 202 - Caller is not a system application.
360     * @throws { BusinessError } 401 - Parameter error. Possible causes:
361     *                                 1.Mandatory parameters are left unspecified;
362     *                                 2.Incorrect parameter types.
363     * @syscap SystemCapability.Multimedia.SystemSound.Core
364     * @systemapi
365     * @since 12
366     */
367    setCategory(category: number): void;
368
369    /**
370     * Gets tone category.
371     * @returns { number } Tone category. This value can be one of {@link TONE_CATEGORY_RINGTONE},
372     * {@link TONE_CATEGORY_TEXT_MESSAGE}, {@link TONE_CATEGORY_NOTIFICATION}, {@link TONE_CATEGORY_ALARM}.
373     * In addition, this value can be result of OR logical operator of these constants.
374     * @throws { BusinessError } 202 - Caller is not a system application.
375     * @syscap SystemCapability.Multimedia.SystemSound.Core
376     * @systemapi
377     * @since 12
378     */
379    getCategory(): number;
380
381    /**
382     * Sets media type.
383     * @param { MediaType } type - Target media type.
384     * @throws { BusinessError } 202 - Caller is not a system application.
385     * @syscap SystemCapability.Multimedia.SystemSound.Core
386     * @systemapi
387     * @since 20
388     */
389    setMediaType(type: MediaType): void;
390
391    /**
392     * Gets media type. This function returns {@link MediaType#AUDIO} if the media type has not been changed
393     * by {@link setMediaType}.
394     * @returns { MediaType } Media type.
395     * @throws { BusinessError } 202 - Caller is not a system application.
396     * @syscap SystemCapability.Multimedia.SystemSound.Core
397     * @systemapi
398     * @since 20
399     */
400    getMediaType(): MediaType;
401  }
402
403  /**
404   * Array of tone attributes.
405   *
406   * @typedef {Array<ToneAttrs>} ToneAttrsArray
407   * @syscap SystemCapability.Multimedia.SystemSound.Core
408   * @systemapi
409   * @since 12
410   */
411  type ToneAttrsArray = Array<ToneAttrs>;
412
413  /**
414   * Create customized tone attributes.
415   * @returns { ToneAttrs } Tone attributes created.
416   * @throws { BusinessError } 202 - Caller is not a system application.
417   * @syscap SystemCapability.Multimedia.SystemSound.Core
418   * @systemapi
419   * @since 12
420   */
421  function createCustomizedToneAttrs(): ToneAttrs;
422
423  /**
424   * Definition of haptics feature in tone scenario.
425   * @enum { number }
426   * @syscap SystemCapability.Multimedia.SystemSound.Core
427   * @systemapi
428   * @since 13
429   */
430  enum ToneHapticsFeature {
431    /**
432     * Standard haptics feature.
433     * @syscap SystemCapability.Multimedia.SystemSound.Core
434     * @systemapi
435     * @since 13
436     */
437    STANDARD = 0,
438    /**
439     * Gentle haptics feature.
440     * @syscap SystemCapability.Multimedia.SystemSound.Core
441     * @systemapi
442     * @since 13
443     */
444    GENTLE = 1,
445  }
446  /**
447   * Enum for haptics in tone scenario.
448   *
449   * @enum { number }
450   * @syscap SystemCapability.Multimedia.SystemSound.Core
451   * @systemapi
452   * @since 14
453   */
454  enum ToneHapticsType {
455    /**
456     * Haptics in incoming call scenario for sim card 0.
457     * @syscap SystemCapability.Multimedia.SystemSound.Core
458     * @systemapi
459     * @since 14
460     */
461    CALL_SIM_CARD_0 = 0,
462
463    /**
464     * Haptics in incoming call scenario for sim card 1.
465     * @syscap SystemCapability.Multimedia.SystemSound.Core
466     * @systemapi
467     * @since 14
468     */
469    CALL_SIM_CARD_1 = 1,
470
471    /**
472     * Haptics in text message scenario for sim card 0.
473     * @syscap SystemCapability.Multimedia.SystemSound.Core
474     * @systemapi
475     * @since 14
476     */
477    TEXT_MESSAGE_SIM_CARD_0 = 20,
478
479    /**
480     * Haptics in text message scenario for sim card 1.
481     * @syscap SystemCapability.Multimedia.SystemSound.Core
482     * @systemapi
483     * @since 14
484     */
485    TEXT_MESSAGE_SIM_CARD_1 = 21,
486
487    /**
488     * Haptics in notification scenario.
489     * @syscap SystemCapability.Multimedia.SystemSound.Core
490     * @systemapi
491     * @since 14
492     */
493    NOTIFICATION = 40,
494  }
495
496  /**
497   * Enum for haptics mode in tone scenario.
498   * @enum {number}
499   * @syscap SystemCapability.Multimedia.SystemSound.Core
500   * @systemapi
501   * @since 14
502   */
503  enum ToneHapticsMode {
504    /**
505     * None haptics mode.
506     * @syscap SystemCapability.Multimedia.SystemSound.Core
507     * @systemapi
508     * @since 14
509     */
510    NONE = 0,
511    /**
512     * Haptics is synchronized with tone.
513     * @syscap SystemCapability.Multimedia.SystemSound.Core
514     * @systemapi
515     * @since 14
516     */
517    SYNC = 1,
518
519    /**
520     * Haptics is out of synchronize with tone.
521     * @syscap SystemCapability.Multimedia.SystemSound.Core
522     * @systemapi
523     * @since 14
524     */
525    NON_SYNC = 2,
526  }
527  /**
528   * Haptics settings in tone scenario.
529   * @typedef ToneHapticsSettings
530   * @syscap SystemCapability.Multimedia.SystemSound.Core
531   * @systemapi
532   * @since 14
533   */
534  interface ToneHapticsSettings {
535    /**
536     * Haptics mode.
537     * @type { ToneHapticsMode }
538     * @syscap SystemCapability.Multimedia.SystemSound.Core
539     * @systemapi
540     * @since 14
541     */
542    mode: ToneHapticsMode;
543    /**
544     * Haptics uri. Users can set/get this parameter when {@link ToneHapticsSettings#mode} is
545     * {@link ToneHapticsMode#NON_SYC}. In other cases, this uri is useless and should be ignored.
546     * @type { ?string }
547     * @syscap SystemCapability.Multimedia.SystemSound.Core
548     * @systemapi
549     * @since 14
550     */
551    hapticsUri?: string;
552  }
553
554  /**
555   * Haptics attributes in tone scenario.
556   * @typedef ToneHapticsAttrs
557   * @syscap SystemCapability.Multimedia.SystemSound.Core
558   * @systemapi
559   * @since 14
560   */
561  interface ToneHapticsAttrs {
562    /**
563     * Get haptics uri.
564     * @returns { string } Haptics uri.
565     * @throws { BusinessError } 202 - Caller is not a system application.
566     * @syscap SystemCapability.Multimedia.SystemSound.Core
567     * @systemapi
568     * @since 14
569     */
570    getUri(): string;
571
572    /**
573     * Get title of haptics.
574     * @returns { string } Haptics title.
575     * @throws { BusinessError } 202 - Caller is not a system application.
576     * @syscap SystemCapability.Multimedia.SystemSound.Core
577     * @systemapi
578     * @since 14
579     */
580    getTitle(): string;
581
582    /**
583     * Get file name of haptics.
584     * @returns { string } Haptics title.
585     * @throws { BusinessError } 202 - Caller is not a system application.
586     * @syscap SystemCapability.Multimedia.SystemSound.Core
587     * @systemapi
588     * @since 14
589     */
590    getFileName(): string;
591  }
592
593  /**
594   * Type definition of tone haptics array.
595   *
596   * @typedef { Array<ToneHapticsAttrs> } ToneHapticsAttrsArray
597   * @syscap SystemCapability.Multimedia.SystemSound.Core
598   * @systemapi
599   * @since 14
600   */
601  type ToneHapticsAttrsArray = Array<ToneHapticsAttrs>;
602
603
604  /**
605   * Gets system sound manager for all type sound.
606   * @returns { SystemSoundManager } SystemSoundManager instance.
607   * @syscap SystemCapability.Multimedia.SystemSound.Core
608   * @systemapi
609   * @since 10
610   */
611  function getSystemSoundManager(): SystemSoundManager;
612
613  /**
614   * System sound manager object.
615   * @typedef SystemSoundManager
616   * @syscap SystemCapability.Multimedia.SystemSound.Core
617   * @systemapi
618   * @since 10
619   */
620  interface SystemSoundManager {
621    /**
622     * Sets the ringtone uri to system.
623     * @param { Context } context - Current application context.
624     * @param { string } uri - Ringtone uri to set.
625     * @param { RingtoneType } type - Ringtone type to set.
626     * @param { AsyncCallback<void> } callback - Callback used to return the set uri result.
627     * @syscap SystemCapability.Multimedia.SystemSound.Core
628     * @systemapi
629     * @since 10
630     * @deprecated since 11
631     * @useinstead systemSoundManager.SystemSoundManager#setRingtoneUri
632     */
633    setSystemRingtoneUri(context: Context, uri: string, type: RingtoneType, callback: AsyncCallback<void>): void;
634
635    /**
636     * Sets the ringtone uri to system.
637     * @param { Context } context - Current application context.
638     * @param { string } uri - Ringtone uri to set.
639     * @param { RingtoneType } type - Ringtone type to set.
640     * @returns { Promise<void> } Promise used to return the set uri result.
641     * @syscap SystemCapability.Multimedia.SystemSound.Core
642     * @systemapi
643     * @since 10
644     * @deprecated since 11
645     * @useinstead systemSoundManager.SystemSoundManager#setRingtoneUri
646     */
647    setSystemRingtoneUri(context: Context, uri: string, type: RingtoneType): Promise<void>;
648
649    /**
650     * Sets the ringtone uri to system.
651     * @param { BaseContext } context - Current application context.
652     * @param { string } uri - Ringtone uri to set.
653     * @param { RingtoneType } type - Ringtone type to set.
654     * @returns { Promise<void> } Promise used to return the set uri result.
655     * @throws { BusinessError } 202 - Caller is not a system application.
656     * @throws { BusinessError } 401 - Parameter error. Possible causes:
657     *         1.Mandatory parameters are left unspecified;
658     *         2.Incorrect parameter types.
659     * @throws { BusinessError } 5400103 - I/O error.
660     * @syscap SystemCapability.Multimedia.SystemSound.Core
661     * @systemapi
662     * @since 11
663     */
664    setRingtoneUri(context: BaseContext, uri: string, type: RingtoneType): Promise<void>;
665
666    /**
667     * Gets the ringtone uri.
668     * @param { Context } context - Current application context.
669     * @param { RingtoneType } type - Ringtone type to get.
670     * @param { AsyncCallback<string> } callback - Callback used to return the ringtone uri maintained in system.
671     * @syscap SystemCapability.Multimedia.SystemSound.Core
672     * @systemapi
673     * @since 10
674     * @deprecated since 11
675     * @useinstead systemSoundManager.SystemSoundManager#getRingtoneUri
676     */
677    getSystemRingtoneUri(context: Context, type: RingtoneType, callback: AsyncCallback<string>): void;
678
679    /**
680     * Gets the ringtone uri.
681     * @param { Context } context - Current application context.
682     * @param { RingtoneType } type - Ringtone type to get.
683     * @returns { Promise<string> } Promise used to return the ringtone uri maintained in system.
684     * @syscap SystemCapability.Multimedia.SystemSound.Core
685     * @systemapi
686     * @since 10
687     * @deprecated since 11
688     * @useinstead systemSoundManager.SystemSoundManager#getRingtoneUri
689     */
690    getSystemRingtoneUri(context: Context, type: RingtoneType): Promise<string>;
691
692    /**
693     * Gets the ringtone uri.
694     * @param { BaseContext } context - Current application context.
695     * @param { RingtoneType } type - Ringtone type to get.
696     * @returns { Promise<string> } Promise used to return the ringtone uri maintained in system.
697     * @throws { BusinessError } 202 - Caller is not a system application.
698     * @throws { BusinessError } 401 - Parameter error. Possible causes:
699     *                                 1.Mandatory parameters are left unspecified;
700     *                                 2.Incorrect parameter types.
701     * @throws { BusinessError } 5400103 - I/O error.
702     * @syscap SystemCapability.Multimedia.SystemSound.Core
703     * @systemapi
704     * @since 11
705     */
706    getRingtoneUri(context: BaseContext, type: RingtoneType): Promise<string>;
707
708    /**
709     * Gets the ringtone attribute which is in use.
710     * @param { RingtoneType } type - Ringtone type to get.
711     * @returns { Promise<ToneAttrs> } Promise used to return the ringtone attribute in system.
712     * @throws { BusinessError } 202 - Caller is not a system application.
713     * @throws { BusinessError } 5400103 - I/O error.
714     * @syscap SystemCapability.Multimedia.SystemSound.Core
715     * @systemapi
716     * @since 20
717     */
718    getCurrentRingtoneAttribute(type: RingtoneType): Promise<ToneAttrs>;
719
720    /**
721     * Gets attributes of the default ringtone.
722     * @param { BaseContext } context - Current application context.
723     * @param { RingtoneType } type - Ringtone type to get.
724     * @returns { Promise<ToneAttrs> } Promise used to return attributes of the default ringtone.
725     * @throws { BusinessError } 202 - Caller is not a system application.
726     * @throws { BusinessError } 401 - Parameter error. Possible causes:
727     *                                 1.Mandatory parameters are left unspecified;
728     *                                 2.Incorrect parameter types.
729     * @throws { BusinessError } 5400103 - I/O error.
730     * @syscap SystemCapability.Multimedia.SystemSound.Core
731     * @systemapi
732     * @since 12
733     */
734    getDefaultRingtoneAttrs(context: BaseContext, type: RingtoneType): Promise<ToneAttrs>;
735
736    /**
737     * Gets attribute list of ringtones.
738     * @param { BaseContext } context - Current application context.
739     * @param { RingtoneType } type - Ringtone type to get.
740     * @returns { Promise<ToneAttrsArray> } Promise used to return attribute list of ringtone.
741     * @throws { BusinessError } 202 - Caller is not a system application.
742     * @throws { BusinessError } 401 - Parameter error. Possible causes:
743     *                                 1.Mandatory parameters are left unspecified;
744     *                                 2.Incorrect parameter types.
745     * @throws { BusinessError } 5400103 - I/O error.
746     * @syscap SystemCapability.Multimedia.SystemSound.Core
747     * @systemapi
748     * @since 12
749     */
750    getRingtoneAttrList(context: BaseContext, type: RingtoneType): Promise<ToneAttrsArray>;
751
752    /**
753     * Gets the ringtone player.
754     * @param { Context } context - Current application context.
755     * @param { RingtoneType } type - Ringtone type to get.
756     * @param { AsyncCallback<RingtonePlayer> } callback - Callback used to return a ringtone player instance.
757     * @syscap SystemCapability.Multimedia.SystemSound.Core
758     * @systemapi
759     * @since 10
760     * @deprecated since 11
761     * @useinstead systemSoundManager.SystemSoundManager#getRingtonePlayer
762     */
763    getSystemRingtonePlayer(context: Context, type: RingtoneType, callback: AsyncCallback<RingtonePlayer>): void;
764
765    /**
766     * Gets the ringtone player.
767     * @param { Context } context - Current application context.
768     * @param { RingtoneType } type - Ringtone type to get.
769     * @returns { Promise<RingtonePlayer> } Promise used to return a ringtone player instance.
770     * @syscap SystemCapability.Multimedia.SystemSound.Core
771     * @systemapi
772     * @since 10
773     * @deprecated since 11
774     * @useinstead systemSoundManager.SystemSoundManager#getRingtonePlayer
775     */
776    getSystemRingtonePlayer(context: Context, type: RingtoneType): Promise<RingtonePlayer>;
777
778    /**
779     * Gets the ringtone player.
780     * @param { BaseContext } context - Current application context.
781     * @param { RingtoneType } type - Ringtone type to get.
782     * @returns { Promise<RingtonePlayer> } Promise used to return a ringtone player instance.
783     * @throws { BusinessError } 202 - Caller is not a system application.
784     * @throws { BusinessError } 401 - Parameter error. Possible causes:
785     *                                 1.Mandatory parameters are left unspecified;
786     *                                 2.Incorrect parameter types.
787     * @syscap SystemCapability.Multimedia.SystemSound.Core
788     * @systemapi
789     * @since 11
790     */
791    getRingtonePlayer(context: BaseContext, type: RingtoneType): Promise<RingtonePlayer>;
792
793    /**
794     * Sets the system tone uri to system.
795     * @param { BaseContext } context - Current application context.
796     * @param { string } uri - Ringtone uri to set.
797     * @param { SystemToneType } type - System tone type to set.
798     * @returns { Promise<void> } Promise used to return the result of set system tone uri.
799     * @throws { BusinessError } 202 - Caller is not a system application.
800     * @throws { BusinessError } 401 - Parameter error. Possible causes:
801     *                                 1.Mandatory parameters are left unspecified;
802     *                                 2.Incorrect parameter types.
803     * @throws { BusinessError } 5400103 - I/O error.
804     * @syscap SystemCapability.Multimedia.SystemSound.Core
805     * @systemapi
806     * @since 11
807     */
808    setSystemToneUri(context: BaseContext, uri: string, type: SystemToneType): Promise<void>;
809
810    /**
811     * Gets the system tone uri.
812     * @param { BaseContext } context - Current application context.
813     * @param { SystemToneType } type - System tone type to get.
814     * @returns { Promise<string> } Promise used to return the system tone maintained in system.
815     * @throws { BusinessError } 202 - Caller is not a system application.
816     * @throws { BusinessError } 401 - Parameter error. Possible causes:
817     *                                 1.Mandatory parameters are left unspecified;
818     *                                 2.Incorrect parameter types.
819     * @throws { BusinessError } 5400103 - I/O error.
820     * @syscap SystemCapability.Multimedia.SystemSound.Core
821     * @systemapi
822     * @since 11
823     */
824    getSystemToneUri(context: BaseContext, type: SystemToneType): Promise<string>;
825
826    /**
827     * Gets attributes of the default system tone.
828     *
829     * @param { BaseContext } context - Current application context.
830     * @param { SystemToneType } type - system tone type to get.
831     * @returns { Promise<ToneAttrs> } Promise used to return attributes of the default system tone.
832     * @throws { BusinessError } 202 - Caller is not a system application.
833     * @throws { BusinessError } 401 - Parameter error. Possible causes:
834     *                                 1.Mandatory parameters are left unspecified;
835     *                                 2.Incorrect parameter types.
836     * @throws { BusinessError } 5400103 - I/O error.
837     * @syscap SystemCapability.Multimedia.SystemSound.Core
838     * @systemapi
839     * @since 12
840     */
841    getDefaultSystemToneAttrs(context: BaseContext, type: SystemToneType): Promise<ToneAttrs>;
842
843    /**
844     * Gets attribute list of alarm tones.
845     * @param { BaseContext } context - Current application context.
846     * @param { SystemToneType } type - System tone type to get.
847     * @returns { Promise<ToneAttrsArray> } Promise used to return attribute list of system tone.
848     * @throws { BusinessError } 202 - Caller is not a system application.
849     * @throws { BusinessError } 401 - Parameter error. Possible causes:
850     *                                 1.Mandatory parameters are left unspecified;
851     *                                 2.Incorrect parameter types.
852     * @throws { BusinessError } 5400103 - I/O error.
853     * @syscap SystemCapability.Multimedia.SystemSound.Core
854     * @systemapi
855     * @since 12
856     */
857    getSystemToneAttrList(context: BaseContext, type: SystemToneType): Promise<ToneAttrsArray>;
858
859    /**
860     * Gets the system tone player.
861     * @param { BaseContext } context - Current application context.
862     * @param { SystemToneType } type - System tone type to get.
863     * @returns { Promise<SystemTonePlayer> } Promise used to return the SystemTonePlayer.
864     * @throws { BusinessError } 202 - Caller is not a system application.
865     * @throws { BusinessError } 401 - Parameter error. Possible causes:
866     *                                 1.Mandatory parameters are left unspecified;
867     *                                 2.Incorrect parameter types.
868     * @syscap SystemCapability.Multimedia.SystemSound.Core
869     * @systemapi
870     * @since 11
871     */
872    getSystemTonePlayer(context: BaseContext, type: SystemToneType): Promise<SystemTonePlayer>;
873
874    /**
875     * Gets attributes of the default alarm tone.
876     *
877     * @param { BaseContext } context - Current application context.
878     * @returns { Promise<ToneAttrs> } Promise used to return attributes of the default alarm tone.
879     * @throws { BusinessError } 202 - Caller is not a system application.
880     * @throws { BusinessError } 401 - Parameter error. Possible causes:
881     *                                 1.Mandatory parameters are left unspecified;
882     *                                 2.Incorrect parameter types.
883     * @throws { BusinessError } 5400103 - I/O error.
884     * @syscap SystemCapability.Multimedia.SystemSound.Core
885     * @systemapi
886     * @since 12
887     */
888    getDefaultAlarmToneAttrs(context: BaseContext): Promise<ToneAttrs>;
889
890    /**
891     * Sets uri of the current alarm tone.
892     *
893     * @param { BaseContext } context - Current application context.
894     * @param { string } uri - Alarm tone uri.
895     * @returns { Promise<void> } Promise used to return result of set alarm tone.
896     * @throws { BusinessError } 202 - Caller is not a system application.
897     * @throws { BusinessError } 401 - Parameter error. Possible causes:
898     *                                 1.Mandatory parameters are left unspecified;
899     *                                 2.Incorrect parameter types.
900     * @throws { BusinessError } 5400103 - I/O error.
901     * @throws { BusinessError } 20700001 - Tone type mismatch, e.g. tone of input uri is not an alarm tone.
902     * @syscap SystemCapability.Multimedia.SystemSound.Core
903     * @systemapi
904     * @since 12
905     */
906    setAlarmToneUri(context: BaseContext, uri: string): Promise<void>;
907
908    /**
909     * Gets uri of the current alarm tone.
910     *
911     * @param { BaseContext } context - Current application context.
912     * @returns { Promise<string> } Promise used to return uri of current alarm tone.
913     * @throws { BusinessError } 202 - Caller is not a system application.
914     * @throws { BusinessError } 401 - Parameter error. Possible causes:
915     *                                 1.Mandatory parameters are left unspecified;
916     *                                 2.Incorrect parameter types.
917     * @throws { BusinessError } 5400103 - I/O error.
918     * @syscap SystemCapability.Multimedia.SystemSound.Core
919     * @systemapi
920     * @since 12
921     */
922    getAlarmToneUri(context: BaseContext): Promise<string>;
923
924    /**
925     * Gets attribute list of alarm tones.
926     * @param { BaseContext } context - Current application context.
927     * @returns { Promise<ToneAttrsArray> } Promise used to return attribute list of system tone.
928     * @throws { BusinessError } 202 - Caller is not a system application.
929     * @throws { BusinessError } 401 - Parameter error. Possible causes:
930     *                                 1.Mandatory parameters are left unspecified;
931     *                                 2.Incorrect parameter types.
932     * @throws { BusinessError } 5400103 - I/O error.
933     * @syscap SystemCapability.Multimedia.SystemSound.Core
934     * @systemapi
935     * @since 12
936     */
937    getAlarmToneAttrList(context: BaseContext): Promise<ToneAttrsArray>;
938
939    /**
940     * Open alarm tone file.
941     * @param { BaseContext } context - Current application context.
942     * @param { string } uri - Uri of alarm tone to open.
943     * @returns { Promise<number> } Promise used to return fd.
944     * @throws { BusinessError } 202 - Caller is not a system application.
945     * @throws { BusinessError } 401 - Parameter error. Possible causes:
946     *                                 1.Mandatory parameters are left unspecified;
947     *                                 2.Incorrect parameter types.
948     * @throws { BusinessError } 5400103 - I/O error.
949     * @throws { BusinessError } 20700001 - Tone type mismatch, e.g. tone of uri is notification instead of alarm.
950     * @syscap SystemCapability.Multimedia.SystemSound.Core
951     * @systemapi
952     * @since 12
953     */
954    openAlarmTone(context: BaseContext, uri: string): Promise<number>;
955
956    /**
957     * Open tone list in batch.
958     * @param { Array<string> } uriList - List of uri to open. The length must be no more than 1024.
959     * @returns { Promise<Array<[string, number, SystemSoundError]>> } Promise used to return results of this operation.
960     * In each returned array number, the first item is uri of tone, the second item is fd, and the third item is error
961     * code. If the uri open failed, the fd will be -1, and the reason is indicated by the error code.
962     * @throws { BusinessError } 202 - Calleris not a system application.
963     * @throws { BusinessError } 20700007 - Parameter is invalid, e.g. the length of uriList is too long.
964     * @syscap SystemCapability.Multimedia.SystemSound.Core
965     * @systemapi
966     * @since 20
967     */
968    openToneList(uriList: Array<string>): Promise<Array<[string, number, SystemSoundError]>>;
969
970    /**
971     * Close fd.
972     * @param { number } fd - File descriptor to close.
973     * @returns { Promise<void> } Promise used to return the result of close fd.
974     * @throws { BusinessError } 202 - Caller is not a system application.
975     * @throws { BusinessError } 401 - Parameter error. Possible causes:
976     *                                 1.Mandatory parameters are left unspecified;
977     *                                 2.Incorrect parameter types.
978     * @throws { BusinessError } 5400103 - I/O error.
979     * @syscap SystemCapability.Multimedia.SystemSound.Core
980     * @systemapi
981     * @since 12
982     */
983    close(fd: number): Promise<void>;
984
985    /**
986     * Add customized tone into ringtone library.
987     * @permission ohos.permission.WRITE_RINGTONE
988     * @param { BaseContext } context - Current application context.
989     * @param { ToneAttrs } toneAttr - Tone attributes created by {@link createCustomizedToneAttrs}.
990     * @param { string } externalUri - Tone uri in external storage.
991     * @returns { Promise<string> } Tone uri after adding into ringtone library.
992     * @throws { BusinessError } 201 - Permission denied.
993     * @throws { BusinessError } 202 - Caller is not a system application.
994     * @throws { BusinessError } 401 - Parameter error. Possible causes:
995     *                                 1.Mandatory parameters are left unspecified;
996     *                                 2.Incorrect parameter types.
997     * @throws { BusinessError } 5400102 - Operation is not allowed, e.g. ringtone to add is not customized.
998     * @throws { BusinessError } 5400103 - I/O error.
999     * @syscap SystemCapability.Multimedia.SystemSound.Core
1000     * @systemapi
1001     * @since 12
1002     */
1003    /**
1004     * Add customized tone into ringtone library.
1005     * @permission ohos.permission.WRITE_RINGTONE
1006     * @param { BaseContext } context - Current application context.
1007     * @param { ToneAttrs } toneAttr - Tone attributes created by {@link createCustomizedToneAttrs}.
1008     * @param { string } externalUri - Tone uri in external storage.
1009     * @returns { Promise<string> } Tone uri after adding into ringtone library.
1010     * @throws { BusinessError } 201 - Permission denied.
1011     * @throws { BusinessError } 202 - Caller is not a system application.
1012     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1013     *                                 1.Mandatory parameters are left unspecified;
1014     *                                 2.Incorrect parameter types.
1015     * @throws { BusinessError } 5400102 - Operation is not allowed, e.g. ringtone to add is not customized.
1016     * @throws { BusinessError } 5400103 - I/O error.
1017     * @throws { BusinessError } 20700004 - Data size exceeds the limit.
1018     * @throws { BusinessError } 20700005 - The number of files exceeds the limit.
1019     * @throws { BusinessError } 20700006 - Insufficient ROM space.
1020     * @syscap SystemCapability.Multimedia.SystemSound.Core
1021     * @systemapi
1022     * @since 20
1023     */
1024    addCustomizedTone(context: BaseContext, toneAttr: ToneAttrs, externalUri: string): Promise<string>;
1025
1026    /**
1027     * Add customized tone into ringtone library.
1028     * @permission ohos.permission.WRITE_RINGTONE
1029     * @param { BaseContext } context - Current application context.
1030     * @param { ToneAttrs } toneAttr - Tone attributes created by {@link createCustomizedToneAttrs}.
1031     * @param { number } fd - File descriptor.
1032     * @param { number } [offset] - The offset in the file where the data to be read, in bytes. By default, the offset
1033     * is zero.
1034     * @param { number } [length] - The length in bytes of the data to be read. By default, the length is the rest of
1035     * bytes in the file from the offset.
1036     * @returns { Promise<string> } Tone uri after adding into ringtone library.
1037     * @throws { BusinessError } 201 - Permission denied.
1038     * @throws { BusinessError } 202 - Caller is not a system application.
1039     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1040     *                                 1.Mandatory parameters are left unspecified;
1041     *                                 2.Incorrect parameter types.
1042     * @throws { BusinessError } 5400102 - Operation is not allowed, e.g. ringtone to add is not customized.
1043     * @throws { BusinessError } 5400103 - I/O error.
1044     * @syscap SystemCapability.Multimedia.SystemSound.Core
1045     * @systemapi
1046     * @since 12
1047     */
1048    /**
1049     * Add customized tone into ringtone library.
1050     * @permission ohos.permission.WRITE_RINGTONE
1051     * @param { BaseContext } context - Current application context.
1052     * @param { ToneAttrs } toneAttr - Tone attributes created by {@link createCustomizedToneAttrs}.
1053     * @param { number } fd - File descriptor.
1054     * @param { number } [offset] - The offset in the file where the data to be read, in bytes. By default, the offset
1055     * is zero.
1056     * @param { number } [length] - The length in bytes of the data to be read. By default, the length is the rest of
1057     * bytes in the file from the offset.
1058     * @returns { Promise<string> } Tone uri after adding into ringtone library.
1059     * @throws { BusinessError } 201 - Permission denied.
1060     * @throws { BusinessError } 202 - Caller is not a system application.
1061     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1062     *                                 1.Mandatory parameters are left unspecified;
1063     *                                 2.Incorrect parameter types.
1064     * @throws { BusinessError } 5400102 - Operation is not allowed, e.g. ringtone to add is not customized.
1065     * @throws { BusinessError } 5400103 - I/O error.
1066     * @throws { BusinessError } 20700004 - Data size exceeds the limit.
1067     * @throws { BusinessError } 20700005 - The number of files exceeds the limit.
1068     * @throws { BusinessError } 20700006 - Insufficient ROM space.
1069     * @syscap SystemCapability.Multimedia.SystemSound.Core
1070     * @systemapi
1071     * @since 20
1072     */
1073    addCustomizedTone(context: BaseContext, toneAttr: ToneAttrs, fd: number, offset?: number, length?: number)
1074      : Promise<string>;
1075
1076    /**
1077     * Remove customized tone in ringtone library.
1078     * @permission ohos.permission.WRITE_RINGTONE
1079     * @param { BaseContext } context - Current application context.
1080     * @param { string } uri - Tone uri.
1081     * @returns { Promise<void> } Promise used to return removing result.
1082     * @throws { BusinessError } 201 - Permission denied.
1083     * @throws { BusinessError } 202 - Caller is not a system application.
1084     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1085     *                                 1.Mandatory parameters are left unspecified;
1086     *                                 2.Incorrect parameter types.
1087     * @throws { BusinessError } 5400102 - Operation is not allowed, e.g. ringtone of this uri is not customized.
1088     * @throws { BusinessError } 5400103 - I/O error.
1089     * @syscap SystemCapability.Multimedia.SystemSound.Core
1090     * @systemapi
1091     * @since 12
1092     */
1093    removeCustomizedTone(context: BaseContext, uri:string): Promise<void>;
1094
1095    /**
1096     * Remove customized tone list in batch.
1097     * @permission ohos.permission.WRITE_RINGTONE
1098     * @param { Array<string> } uriList - Uri list to remove. The length must be no more than 1024.
1099     * @returns { Promise<Array<[string, SystemSoundError]>> } Promise used to return removing result array. In each
1100     * array memeber, the first item is the tone uri, and the second item is the error code.
1101     * @throws { BusinessError } 201 - Permission denied.
1102     * @throws { BusinessError } 202 - Caller is not a system application.
1103     * @throws { BusinessError } 20700007 - Prameter is invalid, e.g. the length of uriList is too long.
1104     * @syscap SystemCapability.Multimedia.SystemSound.Core
1105     * @systemapi
1106     * @since 20
1107     */
1108    removeCustomizedToneList(uriList: Array<string>): Promise<Array<[string, SystemSoundError]>>;
1109
1110    /**
1111     * Get haptics settings.
1112     * @param { BaseContext } context - Current application context.
1113     * @param { ToneHapticsType } type - Tone haptics type.
1114     * @returns { Promise<ToneHapticsSettings> } Promise used to return results of this call.
1115     * @throws { BusinessError } 202 - Caller is not a system application.
1116     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1117     *                                 1.Mandatory parameters are left unspecified;
1118     *                                 2.Incorrect parameter types.
1119     * @throws { BusinessError } 5400103 - I/O error.
1120     * @throws { BusinessError } 20700003 - Unsupported operation.
1121     * @syscap SystemCapability.Multimedia.SystemSound.Core
1122     * @systemapi
1123     * @since 14
1124     */
1125    getToneHapticsSettings(context: BaseContext, type: ToneHapticsType): Promise<ToneHapticsSettings>;
1126
1127    /**
1128     * Set haptics settings.
1129     * @param { BaseContext } context - Current application context.
1130     * @param { ToneHapticsType } type - Tone haptics type.
1131     * @param { ToneHapticsSettings } settings - Tone haptics settings.
1132     * @returns { Promise<void> } Promise used to return results of this call.
1133     * @throws { BusinessError } 202 - Caller is not a system application.
1134     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1135     *                                 1.Mandatory parameters are left unspecified;
1136     *                                 2.Incorrect parameter types.
1137     * @throws { BusinessError } 5400102 - Operation not allowed. For example, the input URI is not valid.
1138     * @throws { BusinessError } 5400103 - I/O error.
1139     * @throws { BusinessError } 20700003 - Unsupported operation.
1140     * @syscap SystemCapability.Multimedia.SystemSound.Core
1141     * @systemapi
1142     * @since 14
1143     */
1144    setToneHapticsSettings(context: BaseContext, type: ToneHapticsType, settings: ToneHapticsSettings): Promise<void>;
1145
1146    /**
1147     * Get haptics list.
1148     * @param { BaseContext } context - Current application context.
1149     * @param { boolean } isSynced - The queried haptics is synchronized with tone or not.
1150     * @returns { Promise<ToneHapticsAttrsArray> } Promise used to return ToneHapticsAttrsArray.
1151     * @throws { BusinessError } 202 - Caller is not a system application.
1152     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1153     *                                 1.Mandatory parameters are left unspecified;
1154     *                                 2.Incorrect parameter types.
1155     * @throws { BusinessError } 5400103 - I/O error.
1156     * @throws { BusinessError } 20700003 - Unsupported operation.
1157     * @syscap SystemCapability.Multimedia.SystemSound.Core
1158     * @systemapi
1159     * @since 14
1160     */
1161    getToneHapticsList(context: BaseContext, isSynced: boolean): Promise<ToneHapticsAttrsArray>;
1162
1163    /**
1164     * Get attributes of haptics which is synchronized with one tone. If no haptics is found, then the attributes in
1165     * the returned ToneHapticsAttrs is empty.
1166     * @param { BaseContext } context - Current application context.
1167     * @param { string } toneUri - Uri of tone to query.
1168     * @returns { Promise<ToneHapticsAttrs> } Promise used to return ToneHapticsAttrs.
1169     * @throws { BusinessError } 202 - Caller is not a system application.
1170     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1171     *                                 1.Mandatory parameters are left unspecified;
1172     *                                 2.Incorrect parameter types.
1173     * @throws { BusinessError } 5400102 - Operation not allowed. For example, the input URI is not used for tones.
1174     * @throws { BusinessError } 5400103 - I/O error.
1175     * @throws { BusinessError } 20700003 - Unsupported operation.
1176     * @syscap SystemCapability.Multimedia.SystemSound.Core
1177     * @systemapi
1178     * @since 14
1179     */
1180    getHapticsAttrsSyncedWithTone(context: BaseContext, toneUri: string): Promise<ToneHapticsAttrs>;
1181
1182    /**
1183     * Open haptics.
1184     * @param { BaseContext } context - Current application context.
1185     * @param { string } hapticsUri - Uri of haptics to open.
1186     * @returns { Promise<number> } Promise used to return fd.
1187     * @throws { BusinessError } 202 - Caller is not a system application.
1188     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1189     *                                 1.Mandatory parameters are left unspecified;
1190     *                                 2.Incorrect parameter types.
1191     * @throws { BusinessError } 5400102 - Operation not allowed. For example, the input URI is not one for haptics.
1192     * @throws { BusinessError } 5400103 - I/O error.
1193     * @throws { BusinessError } 20700003 - Unsupported operation.
1194     * @syscap SystemCapability.Multimedia.SystemSound.Core
1195     * @systemapi
1196     * @since 14
1197     */
1198    openToneHaptics(context: BaseContext, hapticsUri: string): Promise<number>;
1199  }
1200
1201  /**
1202   * Ringtone player object.
1203   * @typedef { _RingtonePlayer } RingtonePlayer
1204   * @syscap SystemCapability.Multimedia.SystemSound.Core
1205   * @systemapi
1206   * @since 10
1207   */
1208  type RingtonePlayer = _RingtonePlayer;
1209
1210  /**
1211   * SystemTone player object.
1212   * @typedef { _SystemTonePlayer } SystemTonePlayer
1213   * @syscap SystemCapability.Multimedia.SystemSound.Core
1214   * @systemapi
1215   * @since 11
1216   */
1217  type SystemTonePlayer = _SystemTonePlayer;
1218
1219  /**
1220   * Interface for ringtone options.
1221   * @typedef { _RingtoneOptions } RingtoneOptions
1222   * @syscap SystemCapability.Multimedia.SystemSound.Core
1223   * @systemapi
1224   * @since 10
1225   */
1226  type RingtoneOptions = _RingtoneOptions;
1227
1228  /**
1229   * System tone options.
1230   * @typedef { _SystemToneOptions } SystemToneOptions
1231   * @syscap SystemCapability.Multimedia.SystemSound.Core
1232   * @systemapi
1233   * @since 11
1234   */
1235  type SystemToneOptions = _SystemToneOptions;
1236}
1237
1238export default systemSoundManager;