进度条采用qml的Slider组件

样式什么的,网上很多。我就不列举了。接下来主要说明,进度条是怎样按秒移动的。

Slider {

id: control

       value: 0

       stepSize: 0.01
       onValueChanged: {
               txt_time_start.text =formation(control.value)
               txt_time_end.text = formation(maximumValue);
          }
}
//timer启动
   Timer{
        id:time
        running: false
        repeat: true
       // interval: 500
        onTriggered:{
            control.value = control.value + control.stepSize 
      }
    }
//取得小数点后两位
     function splitAndRound(num) {
       num = num * Math.pow(10, 2);
        return (Math.round(num)) / (Math.pow(10, 0));
    }
//歌曲的格式都是00:00 为了保持格式因为补0
function formation(controlvalue)
        {
            //补0
              function pad(num, n) {
                  var len = num.toString().length;
                  while(len < n) {
                      num = "0" + num;
                      len++;
                  }
                  return num;
              }
            var min = Math.floor(splitAndRound(controlvalue)/60)
            var sec = splitAndRound(controlvalue)%60
            return(pad(min,2) + ":" + pad(sec,2))
        }
还没有搞清楚的是slider属性。在1.4版本里有maximumValue,minimumValue属性来改变滑块的最大值与最小值。
到了2.3版本变成了from与to。共同点value还是0至1之间的小数。我这里用的是2.3版本。 C++实现播放进度的小算法
1)更新控件的主函数
string updateSliderText(int changevalue)
{
double min = ;
double sec = ;
double tempValue = ;
string outputstring = "";
tempValue = double(changevalue);
min = floor(tempValue/);
sec = changevalue%; outputstring = pad(min,) + ":"+ pad(sec,);
return outputstring;
}

2)规范歌曲格式

string pad(int num,int n)
{
string output_string ="";
int len = ;
string s = "";
len = get_length(num);
s = to_String(num);
while(len < n)
{
s = "" + s;
len++;
} return s;
}
int get_length(int x)
{
int leng=;
while(x)
{
x/=;
leng++;
}
return leng; }
string to_String(int n)
{
int m = n;
char s[];
char ss[];
int i=,j=;
if (n < )// 处理负数
{
m = - m;
j = ;
ss[] = '-';
}
while (m>)
{
s[i++] = m % + '';
m /= ;
}
s[i] = '\0';
i = i - ;
while (i >= )
{
ss[j++] = s[i--];
}
ss[j] = '\0';
return ss;
}

想法比较粗糙。。。如果有C++11的话,to_string函数就不用自己写了。。。。

qml 音乐播放器的进度条的更多相关文章

  1. Android——音乐播放器完善——进度条显示当前播放进度,加可拖动进度条(未待解决完问题)

    效果: 问题:可拖动进度条随进度条移动时,会致使音乐卡顿(待解决) xml <?xml version="1.0" encoding="utf-8"?&g ...

  2. Vue实现mp3音乐播放及动态进度条

    今天碰到一个Vue点击mp3播放及进度条动态走动的小功能,记录一下: 首先是通过HTML5 audio标签引入音频: <template> <div class="x-fo ...

  3. android97 播放音频 有进度条控制

    package com.itheima.musicplayer; import android.os.Bundle; import android.os.Handler; import android ...

  4. 卡拉OK效果的实现-iOS音乐播放器

    自己编写的音乐播放器偶然用到这个模块,发现没有思路,而且上网搜了搜,关于这方面的文章不是很多,没找到满意的结果,然后自己也是想了想,最终实现了这种效果,想通了发现其实很简单. 直接上原理: 第一种: ...

  5. Android开发6:Service的使用(简单音乐播放器的实现)

    前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service ...

  6. android 音乐播放器

    本章以音乐播放器为载体,介绍android开发中,通知模式Notification应用.主要涉及知识点Notification,seekbar,service. 1.功能需求 完善音乐播放器 有播放列 ...

  7. 音乐播放器 EasyMusic (一)

    EasyMusic 一. 代码获取 github 上链接为 https://github.com/VincentWYJ/EasyMusic, 感兴趣的朋友可以同步下来看, 欢迎提出宝贵意见或建议. 1 ...

  8. 用PHP+H5+Boostrap做简单的音乐播放器(进阶版)

    前言:之前做了一个音乐播放器(纯前端),意外的受欢迎,然后有人建议我把后台一起做了,正好也想学习后台,所以学了两天php(不要吐槽我的速度,慢工出细活嘛~)然后在之前的基础上也又完善了一些功能,所以这 ...

  9. Android 实现简单音乐播放器(二)

    在Android 实现简单音乐播放器(一)中,我介绍了MusicPlayer的页面设计. 现在,我简单总结一些功能实现过程中的要点和有趣的细节,结合MainActivity.java代码进行说明(写出 ...

随机推荐

  1. AJAX POST请求中参数以form data和request payload形式在php中的获取方式

    一.MINE TYPE问题: php对mime type为“application/x-www-form-urlencoded”(表单提交)和“multipart/form-data”(文件上传)的P ...

  2. 使用selenium前学习HTML(2)——标签

    <!-- HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. HTML 段落是通过 <p> 标签进行定义的. HTML 链接是 ...

  3. 算法+OpenCV】基于opencv的直线和曲线拟合与绘制(最小二乘法)

    http://blog.csdn.net/guduruyu/article/details/72866144 最小二乘法多项式曲线拟合,是常见的曲线拟合方法,有着广泛的应用,这里在借鉴最小二乘多项式曲 ...

  4. z-albert之开启博文之路

    其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...

  5. hdu 2896:病毒侵袭

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  6. Btrace使用入门

    1.什么是BTrace BTrace是sun公司推出的一款Java 动态.安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数.返回值.全局变量和堆 ...

  7. ifconfig设置ip时出现提示 ifconfig: SIOCSIFFLAGS: Address not available

    一.笔者使用ifconfig观察网卡情况如下: root@jello:/# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:0 ...

  8. 采用OpenReplicator解析MySQL binlog

    Open Replicator是一个用Java编写的MySQL binlog分析程序.Open Replicator 首先连接到MySQL(就像一个普通的MySQL Slave一样),然后接收和分析b ...

  9. rhel7配置samba_4.7.1,共享给所有人以及共享给指定用户

    1.共享给所有人 服务端配置: yum  -y install samba samba-client samba-common       #安装客户端 mkdir /guest #创建共享文件夹 c ...

  10. 解题报告:51nod 加农炮

    2017-10-07 16:15:16 writer:pprp 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题   一个长度为M的正整 ...