using System; using HDL_ON.Entity; using System.Collections.Generic; using Shared; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { /// /// 影音中控屏公共方法类 /// public class AksCommonMethod { private static AksCommonMethod commonMethod = null; /// /// 获取对象F /// public static AksCommonMethod Current { get { if (commonMethod == null) { commonMethod = new AksCommonMethod(); } return commonMethod; } } /// /// 清空所有缓存数据 /// public void ClearData() { movieLibraryInfoEntities.Clear(); CollectList.Clear(); } /// /// 影片详情列表 /// public Dictionary movieLibraryInfoEntities = new Dictionary(); /// /// 收藏影片详情列表 /// public List CollectList = new List(); /// /// 添加影片详情缓存 /// /// public void AddMovieLibraryInfo(MovieLibraryInfoEntity movieLibraryInfo) { if (movieLibraryInfo == null) { return; } if (string.IsNullOrEmpty(movieLibraryInfo.rcId) && string.IsNullOrEmpty(movieLibraryInfo.movieId)) { return; } string key = movieLibraryInfo.rcId + "_" + movieLibraryInfo.movieId; if (movieLibraryInfoEntities.ContainsKey(key)) { movieLibraryInfoEntities.Remove(key); } movieLibraryInfoEntities.Add(key, movieLibraryInfo); } /// /// 删除影片详情缓存 /// /// public bool DelMovieLibraryInfo(string key) { if (movieLibraryInfoEntities.ContainsKey(key)) { return movieLibraryInfoEntities.Remove(key); } return true; } /// /// 从缓存获取影片详情 /// /// 规则:rcId_movieId(遥控器id_影片id) /// 不存在返回null public MovieLibraryInfoEntity GetMovieLibraryInfo(string key) { if (string.IsNullOrEmpty(key)) { return null; } foreach (var dic in movieLibraryInfoEntities) { if (dic.Key == key) { return dic.Value; } } return null; } /// /// 添加收藏影片 /// /// public void AddCollectMovie(MovieLibrary movieLibrary) { if (movieLibrary == null) { return; } if (string.IsNullOrEmpty(movieLibrary.movieId)) { return; } if (CollectList.Count == 0) { CollectList.Add(movieLibrary); return; } for (int i = 0; i < CollectList.Count; i++) { if (CollectList[i].movieId == movieLibrary.movieId) { CollectList.RemoveAt(i); CollectList.Insert(i, movieLibrary); } } } /// /// 删除添加收藏影片 /// /// public bool DelCollectMovie(MovieLibrary movieLibrary) { if (movieLibrary == null) { return false; } if (string.IsNullOrEmpty(movieLibrary.movieId)) { return false; } for (int i = 0; i < CollectList.Count; i++) { if (CollectList[i].movieId == movieLibrary.movieId) { CollectList.RemoveAt(i); break; } } return true; } /// /// 获取影音中控屏列表 /// /// public List GetVideoControlsList() { var list = FunctionList.List.GetVideoControlsList(); #if DEBUG //list.Add(new Function { name = "影音中控屏一", sid = "11111111", spk = SPK.AvZkAiks }); //list.Add(new Function { name = "影音中控屏二", sid = "22222222", spk = SPK.AvZkAiks }); #endif return list; } /// /// 获取【音乐】遥控器按键列表 /// /// public List GetMusicKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on", name = "开", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "off", name = "关", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "menu", name = "菜单", localIconAddress = $"{aksIcon}caidan.png" }); keypads.Add(new KeypadEntity { keypad = "return", name = "返回", localIconAddress = $"{aksIcon}fanhui.png" }); keypads.Add(new KeypadEntity { keypad = "sound_channel", name = "声道", localIconAddress = $"{aksIcon}shengdao.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "mute", name = "静音", localIconAddress = $"{aksIcon}jingyin.png" }); keypads.Add(new KeypadEntity { keypad = "part_up", name = "上一部", localIconAddress = $"{aksIcon}shangyibu.png" }); keypads.Add(new KeypadEntity { keypad = "part_down", name = "下一部", localIconAddress = $"{aksIcon}xiayibu.png" }); keypads.Add(new KeypadEntity { keypad = "fast_rewind", name = "快退", localIconAddress = $"{aksIcon}kauitui.png" }); keypads.Add(new KeypadEntity { keypad = "fast_forward", name = "快进", localIconAddress = $"{aksIcon}kuaijin.png" }); keypads.Add(new KeypadEntity { keypad = "stop", name = "停止", localIconAddress = $"{aksIcon}tingzhi.png" }); keypads.Add(new KeypadEntity { keypad = "pause", name = "暂停", localIconAddress = $"{aksIcon}zanting.png" }); keypads.Add(new KeypadEntity { keypad = "play", name = "播放", localIconAddress = $"{aksIcon}bofang.png" }); keypads.Add(new KeypadEntity { keypad = "in_out_warehouse", name = "进出仓", localIconAddress = $"{aksIcon}jinchucang.png" }); keypads.Add(new KeypadEntity { keypad = "subtitle", name = "字幕", localIconAddress = $"{aksIcon}zimu.png" }); //keypads.Add(new KeypadEntity { keypad = "key_up", name = "上", localIconAddress = $"{aksIcon}shang.png" }); //keypads.Add(new KeypadEntity { keypad = "key_down", name = "下", localIconAddress = $"{aksIcon}xia.png" }); //keypads.Add(new KeypadEntity { keypad = "key_left", name = "左", localIconAddress = $"{aksIcon}zuo.png" }); //keypads.Add(new KeypadEntity { keypad = "key_right", name = "右", localIconAddress = $"{aksIcon}you.png" }); //keypads.Add(new KeypadEntity { keypad = "key_ok", name = "确认", localIconAddress = $"{aksIcon}ok.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【功放】遥控器按键列表 /// /// public List GetGFKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on", name = "开", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "off", name = "关", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_1", name = "HDMI 1", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_2", name = "HDMI 2", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_3", name = "HDMI 3", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_4", name = "HDMI 4", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "custom_1", name = "自定义按键1", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_2", name = "自定义按键2", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_3", name = "自定义按键3", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_4", name = "自定义按键4", localIconAddress = $"{aksIcon}zdyanjian.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【投影仪】遥控器按键列表 /// /// public List GetTYYKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on", name = "开", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "off", name = "关", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "signal_source", name = "信号源", localIconAddress = $"{aksIcon}xinhaoyuan.png" }); keypads.Add(new KeypadEntity { keypad = "curtain_up", name = "幕布升", localIconAddress = $"{aksIcon}mubusheng.png" }); keypads.Add(new KeypadEntity { keypad = "curtain_down", name = "幕布降", localIconAddress = $"{aksIcon}mubujiang.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_1", name = "HDMI 1", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_2", name = "HDMI 2", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_3", name = "HDMI 3", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "HDMI_4", name = "HDMI 4", localIconAddress = $"{aksIcon}hdmi.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "menu", name = "菜单", localIconAddress = $"{aksIcon}caidan.png" }); keypads.Add(new KeypadEntity { keypad = "return", name = "返回", localIconAddress = $"{aksIcon}fanhui.png" }); keypads.Add(new KeypadEntity { keypad = "custom_1", name = "自定义按键1", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_2", name = "自定义按键2", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_3", name = "自定义按键3", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_4", name = "自定义按键4", localIconAddress = $"{aksIcon}zdyanjian.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【电视】遥控器按键列表 /// /// public List GetTvKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on", name = "开", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "off", name = "关", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "signal_source", name = "信号源", localIconAddress = $"{aksIcon}xinhaoyuan.png" }); keypads.Add(new KeypadEntity { keypad = "mute", name = "静音", localIconAddress = $"{aksIcon}jingyin.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "menu", name = "菜单", localIconAddress = $"{aksIcon}caidan.png" }); keypads.Add(new KeypadEntity { keypad = "return", name = "返回", localIconAddress = $"{aksIcon}fanhui.png" }); keypads.Add(new KeypadEntity { keypad = "look_back", name = "回看", localIconAddress = $"{aksIcon}huikan.png" }); keypads.Add(new KeypadEntity { keypad = "cancel", name = "取消", localIconAddress = $"{aksIcon}quxiao.png" }); keypads.Add(new KeypadEntity { keypad = "custom_1", name = "自定义按键1", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_2", name = "自定义按键2", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_3", name = "自定义按键3", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_4", name = "自定义按键4", localIconAddress = $"{aksIcon}zdyanjian.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【机顶盒】遥控器按键列表 /// /// public List GetJdhKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on", name = "开", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "off", name = "关", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "menu", name = "菜单", localIconAddress = $"{aksIcon}caidan.png" }); keypads.Add(new KeypadEntity { keypad = "mute", name = "静音", localIconAddress = $"{aksIcon}jingyin.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "look_back", name = "回看", localIconAddress = $"{aksIcon}huikan.png" }); keypads.Add(new KeypadEntity { keypad = "cancel", name = "取消", localIconAddress = $"{aksIcon}quxiao.png" }); keypads.Add(new KeypadEntity { keypad = "amplifier_volume_up", name = "功放音量 +", localIconAddress = $"{aksIcon}gfyingliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "amplifier_volume_down", name = "功放音量 -", localIconAddress = $"{aksIcon}gfyingliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_1", name = "自定义按键1", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_2", name = "自定义按键2", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_3", name = "自定义按键3", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "custom_4", name = "自定义按键4", localIconAddress = $"{aksIcon}zdyanjian.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【自定义】遥控器按键列表 /// /// public List GetZdiKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "on_off", name = "开/关", localIconAddress = $"{aksIcon}kai.png" }); keypads.Add(new KeypadEntity { keypad = "info", name = "信息", localIconAddress = $"{aksIcon}guan.png" }); keypads.Add(new KeypadEntity { keypad = "collect", name = "收藏", localIconAddress = $"{aksIcon}caidan.png" }); keypads.Add(new KeypadEntity { keypad = "movie", name = "电影", localIconAddress = $"{aksIcon}jingyin.png" }); keypads.Add(new KeypadEntity { keypad = "volume_up", name = "音量+", localIconAddress = $"{aksIcon}yinliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "volume_down", name = "音量-", localIconAddress = $"{aksIcon}yinliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "recreation", name = "娱乐", localIconAddress = $"{aksIcon}huikan.png" }); keypads.Add(new KeypadEntity { keypad = "tv", name = "电视", localIconAddress = $"{aksIcon}quxiao.png" }); keypads.Add(new KeypadEntity { keypad = "red", name = "红按键", localIconAddress = $"{aksIcon}gfyingliangjia.png" }); keypads.Add(new KeypadEntity { keypad = "yellow", name = "黄按键", localIconAddress = $"{aksIcon}gf_ingliangjian.png" }); keypads.Add(new KeypadEntity { keypad = "blue", name = "蓝按键", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "number_0", name = "0" }); keypads.Add(new KeypadEntity { keypad = "number_1", name = "1" }); keypads.Add(new KeypadEntity { keypad = "number_2", name = "2" }); keypads.Add(new KeypadEntity { keypad = "number_3", name = "3" }); keypads.Add(new KeypadEntity { keypad = "number_4", name = "4" }); keypads.Add(new KeypadEntity { keypad = "number_5", name = "5" }); keypads.Add(new KeypadEntity { keypad = "number_6", name = "6" }); keypads.Add(new KeypadEntity { keypad = "number_7", name = "7" }); keypads.Add(new KeypadEntity { keypad = "number_8", name = "8" }); keypads.Add(new KeypadEntity { keypad = "number_9", name = "9" }); keypads.Add(new KeypadEntity { keypad = "audio_track", name = "音轨", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "subtitle", name = "字幕", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "mute", name = "静音", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "main", name = "主界面", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "home", name = "主页", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "ch_up", name = "频道+", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "ch_down", name = "频道-", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "look_back", name = "回看", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "cancel", name = "取消", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "key_up", name = "上", localIconAddress = $"{aksIcon}shang.png" }); keypads.Add(new KeypadEntity { keypad = "key_down", name = "下", localIconAddress = $"{aksIcon}xia.png" }); keypads.Add(new KeypadEntity { keypad = "key_left", name = "左", localIconAddress = $"{aksIcon}zuo.png" }); keypads.Add(new KeypadEntity { keypad = "key_right", name = "右", localIconAddress = $"{aksIcon}you.png" }); keypads.Add(new KeypadEntity { keypad = "key_ok", name = "确认", localIconAddress = $"{aksIcon}ok.png" }); keypads.Add(new KeypadEntity { keypad = "menu", name = "菜单" }); keypads.Add(new KeypadEntity { keypad = "part_up", name = "上一部" }); keypads.Add(new KeypadEntity { keypad = "part_down", name = "下一部" }); keypads.Add(new KeypadEntity { keypad = "fast_rewind", name = "快退" }); keypads.Add(new KeypadEntity { keypad = "fast_forward", name = "快进" }); keypads.Add(new KeypadEntity { keypad = "stop", name = "停止" }); keypads.Add(new KeypadEntity { keypad = "pause", name = "暂停", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "play", name = "播放", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "lamp", name = "灯光1", localIconAddress = $"{aksIcon}zdyanjian.png" }); keypads.Add(new KeypadEntity { keypad = "lamp_plc", name = "灯光2", localIconAddress = $"{aksIcon}zdyanjian.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【数字】按键列表 /// /// public List GetNumberKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); keypads.Add(new KeypadEntity { keypad = "number_1", name = "1" }); keypads.Add(new KeypadEntity { keypad = "number_2", name = "2" }); keypads.Add(new KeypadEntity { keypad = "number_3", name = "3" }); keypads.Add(new KeypadEntity { keypad = "ch_up", name = Language.StringByID(StringId.pindaojia) }); keypads.Add(new KeypadEntity { keypad = "number_4", name = "4" }); keypads.Add(new KeypadEntity { keypad = "number_5", name = "5" }); keypads.Add(new KeypadEntity { keypad = "number_6", name = "6" }); keypads.Add(new KeypadEntity { keypad = "ch_down", name = Language.StringByID(StringId.pindaojian) }); keypads.Add(new KeypadEntity { keypad = "number_7", name = "7" }); keypads.Add(new KeypadEntity { keypad = "number_8", name = "8" }); keypads.Add(new KeypadEntity { keypad = "number_9", name = "9" }); keypads.Add(new KeypadEntity { keypad = "number_continuous", name = "-/--" }); keypads.Add(new KeypadEntity { keypad = "none", name = "" });//这个是为了占位置 keypads.Add(new KeypadEntity { keypad = "number_0", name = "0" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 获取【菜单】按键列表 /// /// public List GetMenuKeypadList(RemoteControlEntity remoteControlEntity) { List keypads = new List(); string aksIcon = "AksIcon/"; keypads.Add(new KeypadEntity { keypad = "key_up", name = "上", localIconAddress = $"{aksIcon}shang.png" }); keypads.Add(new KeypadEntity { keypad = "key_down", name = "下", localIconAddress = $"{aksIcon}xia.png" }); keypads.Add(new KeypadEntity { keypad = "key_left", name = "左", localIconAddress = $"{aksIcon}zuo.png" }); keypads.Add(new KeypadEntity { keypad = "key_right", name = "右", localIconAddress = $"{aksIcon}you.png" }); keypads.Add(new KeypadEntity { keypad = "key_ok", name = "确认", localIconAddress = $"{aksIcon}ok.png" }); this.CheckKeyIsClick(remoteControlEntity, keypads); return keypads; } /// /// 检查是否支持按键点击 /// /// 遥控器设备 /// 自定义按键列表 private void CheckKeyIsClick(RemoteControlEntity remoteControlEntity, List keypads) { if (remoteControlEntity == null) { return; } for (int i = 0; i < keypads.Count; i++) { var keypad = keypads[i]; if (keypad.keypad == "none") { //特殊的 continue; } var findkeypad = remoteControlEntity.keypads.Find((o) => o.keypad == keypad.keypad); if (findkeypad == null) { keypad.isClicked = false; } else { keypad.isClicked = true; } } } } }