using System; using UnityEngine; namespace AndroidWrapper { /// /// 音量相关封装 /// 使用说明: /// 1、首先初始化 Init,设置监听事件 /// 2、后面即可获取设置音量值 /// 3、监听音量变化 /// public class VoiceVolumnWrapper : MonoSingleton { /// /// 初始化 /// /// public void Init(Action VoiceVolumnChangedListener) { #if UNITY_EDITOR #else MAndroidJavaObject.Call("Init",new VoiceVolumnChangedIntereface(VoiceVolumnChangedListener)); registerVolumeReceiver(); #endif } /// /// 获取音量的当前值 /// /// public int GetMusicVoiceCurrentValue() { return MAndroidJavaObject.Call("GetMusicVoiceCurrentValue"); } /// /// 设置音量值 /// /// public void SetMusicVoiceVolumn(int value) { MAndroidJavaObject.Call("SetMusicVoiceVolumn", value); } /// /// 获取音量的最大值 /// /// public int GetMusicVoiceMax() { return MAndroidJavaObject.Call("GetMusicVoiceMax"); } /// /// 获取音量的最小值 /// /// public int GetMusicVoiceMin() { return MAndroidJavaObject.Call("GetMusicVoiceMin"); } #region 私有方法 /// /// 注册音量监听 /// void registerVolumeReceiver() { MAndroidJavaObject.Call("registerVolumeReceiver"); } /// /// 取消注册音量监听 /// public void unregisterVolumeReceiver() { MAndroidJavaObject.Call("unregisterVolumeReceiver"); } protected override void OnDestroy() { unregisterVolumeReceiver(); base.OnDestroy(); } #endregion #region 私有变量 /// /// 音量变化委托事件 /// Action _mVoiceVolumnChanged; AndroidJavaObject _mAndroidJavaObject; public AndroidJavaObject MAndroidJavaObject { get { if (_mAndroidJavaObject == null) { _mAndroidJavaObject = new AndroidJavaObject("com.example.voicevolumnwrapper.VoiceVolumnUtil"); } return _mAndroidJavaObject; } } #endregion } }