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 public class MaxVolumeLevel
26 internal MaxVolumeLevel()
31 /// Gets the max volume level of the specified <see cref="AudioVolumeType"/>
33 /// <param name="type">The <see cref="AudioVolumeType"/> to query.</param>
34 /// <value>The maximum volume level.</value>
35 /// <exception cref="ArgumentException"><paramref name="type"/> is invalid.</exception>
36 /// <exception cref="ArgumentOutOfRangeException"><paramref name="type"/> is <see cref="AudioVolumeType.None"/>.</exception>
37 public int this[AudioVolumeType type]
41 ValidationUtil.ValidateEnum(typeof(AudioVolumeType), type, nameof(type));
43 if (type == AudioVolumeType.None)
45 throw new ArgumentOutOfRangeException(nameof(type),
46 "Cannot get max volume level for AudioVolumeType.None");
49 Interop.AudioVolume.GetMaxVolume(type, out var maxVolume).
50 Validate("Failed to get the max volume level");