陈嘉乐
2020-06-05 c26c06ef4a22d6fb9e59dc734abca92fa8a23c47
2020-06-05-02

解决当前播放时间不同步问题
7个文件已修改
39 ■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31MusicModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31PlayMusicPage.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/View/DialogView.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/View/MusicView.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,12 +1,12 @@
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/Music/View/MusicView.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/Music/View/DialogView.cs">
    <Files>
      <File FileName="HDL_ON/UI/Music/View/DialogView.cs" Line="1290" Column="66" />
      <File FileName="HDL_ON/UI/Music/MusicMain.cs" Line="219" Column="28" />
      <File FileName="HDL_ON/UI/Music/View/DialogView.cs" Line="1" Column="1" />
      <File FileName="HDL_ON/UI/Music/MusicMain.cs" Line="200" Column="42" />
      <File FileName="HDL_ON/UI/Music/SendMethod.cs" Line="150" Column="49" />
      <File FileName="HDL_ON/UI/Music/A31MusicModel.cs" Line="217" Column="29" />
      <File FileName="HDL_ON/UI/Music/A31PlayMusicPage.cs" Line="384" Column="19" />
      <File FileName="HDL_ON/UI/Music/View/MusicView.cs" Line="24" Column="60" />
      <File FileName="HDL_ON/UI/Music/View/MusicView.cs" Line="211" Column="12" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
@@ -18,7 +18,7 @@
              <Node name="UI" expanded="True">
                <Node name="Music" expanded="True">
                  <Node name="View" expanded="True">
                    <Node name="MusicView.cs" selected="True" />
                    <Node name="Dialog_View.cs" selected="True" />
                  </Node>
                </Node>
                <Node name="UI0-Public" expanded="True" />
@@ -29,9 +29,7 @@
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="Assets" expanded="True">
                <Node name="Phone" expanded="True">
                  <Node name="MusicIcon" expanded="True" />
                </Node>
                <Node name="Phone" expanded="True" />
              </Node>
            </Node>
          </Node>
.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
HDL_ON/UI/Music/A31MusicModel.cs
@@ -50,6 +50,8 @@
        public string Name=string.Empty;
        /// <summary>
        /// 上一次更新的时间
        /// 记录数据反馈的时间(因为有时间网络差数据不回复,导致刷新当前播放音乐时间不正确)
        /// ((当前时间)DateTime.Now - (记录时间)LastDateTimeLastDateTime).TotalSeconds=误差时间(秒)
        /// </summary>
        public DateTime LastDateTime;
        /// <summary>
HDL_ON/UI/Music/A31PlayMusicPage.cs
@@ -480,9 +480,8 @@
                            //更新播放器音量给系统音量
                            Volume.MusicVolume = playView.volSeekBar.Progress;
                            //当前播放音乐时间        
                            int playSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.curpos) / 1000;// + (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
                                                                                                          //currentMusiceA31.musicPalyTime = (playSecond*10).ToString();
                                                                                                          //分钟
                            int playSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.curpos) / 1000+(int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
                            int playMusicMinute = playSecond / 60;
                            //秒钟
                            int playMusicSecond = playSecond % 60;
HDL_ON/UI/Music/View/DialogView.cs
@@ -1001,7 +1001,7 @@
            MusicMain.loading.Start("解除中...");
            var slaveList = new List<Slave>();
            slaveList.AddRange(a31player.Slave.slave_list);
            bool host_If = false; //表示是否显示解除的播放
           // bool host_If = false; //表示是否显示解除的播放
            bool _if = false;
            System.Threading.Tasks.Task.Run(() =>
            {
@@ -1010,7 +1010,6 @@
                    var play_If = playList1.Find((obj) => obj.UniqueDeviceName == a31player.UniqueDeviceName);
                    if (play_If == null)
                    {
                        host_If = false;
                        //子音箱与主音箱断开的命令
                        for (int i = 0; i < playList1.Count; i++)
                        {
@@ -1028,7 +1027,6 @@
                    }
                    else
                    {
                        host_If = true;
                        //解散组的命令
                        if (null == SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:Ungroup"))
                        {
@@ -1050,7 +1048,7 @@
                                var tmepSlaves = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result);
                                if (tmepSlaves != null)
                                {
                                    if (host_If && tmepSlaves.slave_list.Count == 0)
                                    if (tmepSlaves.slave_list.Count == 0)
                                    {
                                        var host_music = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == a31player.UniqueDeviceName);
@@ -1073,9 +1071,9 @@
                                    }
                                    else
                                    {
                                        for (int a = 0; a < playList1.Count; a++)
                                        for (int b = 0; b < tmepSlaves.slave_list.Count; b++)
                                        {
                                            var uuid = playList1[a].UniqueDeviceName;
                                            var uuid = tmepSlaves.slave_list[b].uuid.Replace("uuid:", "");
                                            var music = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == uuid);
                                            if (music != null)
                                            {
@@ -1084,6 +1082,7 @@
                                                music.IsOnLine = false;//先不允许读取
                                            }
                                        }
                                    }
                                    var host_a31player = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == a31player.UniqueDeviceName);
HDL_ON/UI/Music/View/MusicView.cs
@@ -12,6 +12,7 @@
        {
            Height = Application.GetRealHeight(12 + 139),
            Width = Application.GetRealWidth(375),
        };
        /// <summary>
        ///白色背景的控件
@@ -23,6 +24,7 @@
            Height = Application.GetRealHeight(139),
            Width = Application.GetRealWidth(375 - 16 * 2),
            BackgroundColor = Color.WhiteColor,
            Radius= (uint)Application.GetRealHeight(12),
        };
        /// <summary>
        ///显示音乐状态图标
@@ -45,6 +47,7 @@
            Width = Application.GetRealWidth(70),
            Height = Application.GetRealHeight(25),
            BackgroundColor = Color.ViewColor,
            Radius = (uint)Application.GetRealHeight(12),
        };
        /// <summary>
        ///组合图标
@@ -205,9 +208,7 @@
            musicIfonFl.AddChidren(prevBtn);
            musicIfonFl.AddChidren(playBtn);
            musicIfonFl.AddChidren(nextBtn);
            musicIfonFl.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
            mergeBjBtn.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
        }
    }
}