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
}
}