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
21 internal static class VolumeLevelLog
23 internal const string Tag = "Tizen.Multimedia.VolumeLevel";
27 /// This is a indexer class which is used to get/set the volume level
28 /// specified for a particular sound type.
30 public class VolumeLevel
32 public int this [AudioVolumeType type] {
34 if(type == AudioVolumeType.None)
35 throw new ArgumentException("Wrong Audio volume type. Cannot get volume level for AudioVolumeType.None");
37 int ret = Interop.AudioVolume.GetVolume(type, out volume);
39 Tizen.Log.Info(VolumeLevelLog.Tag, "Get Level Error: " + (AudioManagerError)ret);
45 if(type == AudioVolumeType.None)
46 throw new ArgumentException("Wrong Audio volume type. Cannot set volume level for AudioVolumeType.None");
47 int ret = Interop.AudioVolume.SetVolume(type, value);
49 Tizen.Log.Info(VolumeLevelLog.Tag, "Set Level Error: " + (AudioManagerError)ret);
50 AudioManagerErrorFactory.CheckAndThrowException(ret, "Unable to set level");