2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 namespace Tizen.Multimedia
22 /// Provides a means to get max volume levels.
24 /// <since_tizen> 3 </since_tizen>
25 public class MaxVolumeLevel
27 internal MaxVolumeLevel()
32 /// Gets the max volume level of the specified <see cref="AudioVolumeType"/>.
34 /// <param name="type">The <see cref="AudioVolumeType"/> to query.</param>
35 /// <value>The maximum volume level.</value>
36 /// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
37 /// <exception cref="ArgumentOutOfRangeException"><paramref name="type"/> is <see cref="AudioVolumeType.None"/>.</exception>
38 /// <since_tizen> 3 </since_tizen>
39 public int this[AudioVolumeType type]
43 ValidationUtil.ValidateEnum(typeof(AudioVolumeType), type, nameof(type));
45 if (type == AudioVolumeType.None)
47 throw new ArgumentOutOfRangeException(nameof(type),
48 "Cannot get max volume level for AudioVolumeType.None");
51 Interop.AudioVolume.GetMaxVolume(type, out var maxVolume).
52 Validate("Failed to get the max volume level");