首页 > 其他分享 >播放音乐ProgressBar进度条

播放音乐ProgressBar进度条

时间:2023-06-20 17:03:09浏览次数:36  
标签:播放 音乐 ProgressBar 进度条

<ProgressBar android:id="@+id/progreso" 
        style="?android:attr/progressBarStyleHorizontal" 
import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ProgressBar; 
import android.widget.TextView; 
 
public class Player extends Activity implements Runnable, OnClickListener{ 
 
   private TextView Status; 
   private ProgressBar progressBar; 
   private Button StartMedia; 
   private Button Stop; 
   private MediaPlayer mp;       
 
   @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
 
       Status = (TextView) findViewById(R.id.Status); 
        progressBar = (ProgressBar) findViewById(R.id.progressBar); 
        StartMedia = (Button) findViewById(R.id.StartMedia); 
        Stop = (Button) findViewById(R.id.Stop); 
 
        StartMedia.setOnClickListener(this); 
        Stop.setOnClickListener(this);                 
    }         
 
@Override 
public void onClick(View v) { 
        if(v.equals(StartMedia)){ 
            if(mp != null && mp.isPlaying()) return; 
            mp = MediaPlayer.create(Player.this, R.raw.exodus_piranha); 
            mp.start();                
            Status.setText(R.string.PlayingMedia);          
            progressBar.setVisibility(ProgressBar.VISIBLE); 
            progressBar.setProgress(0); 
            progressBar.setMax(mp.getDuration()); 
            new Thread(this).start(); 
        } 
 
        if(v.equals(Stop) && mp!=null){ 
            mp.stop(); 
            mp = null;             
            Status.setText(R.string.Stopped); 
            progressBar.setVisibility(ProgressBar.GONE); 
        } 
 
} 
 
    @Override 
    public void run() { 
        int CurrentPosition= 0; 
        int total = mp.getDuration(); 
        while(mp!=null && CurrentPosition<total){ 
            try { 
                Thread.sleep(1000); 
                CurrentPosition= mp.getCurrentPosition(); 
            } catch (InterruptedException e) { 
                return; 
            } catch (Exception e){ 
                return; 
            }             
            progressBar.setProgress(CurrentPosition); 
        } 
    } 
 
 
}

标签:播放,音乐,ProgressBar,进度条
From: https://blog.51cto.com/u_16166892/6523967

相关文章

  • Android自定义View实现渐变色进度条
    在网上看到一个进度条效果图,非常美观,如下:进行效果分解:渐变色,看起来颜色变化并不复杂,使用LinearGradient应该可以实现。圆头,无非是画两个圆,外圆使用渐变色的颜色,内圆固定为白色。灰底,还没有走到的进度部分为灰色。进度值,使用文本来显示;弧形的头部,考虑使用直线进行连接,或者使用曲线,例......
  • react 进度条
    最终结果图还是直接上代码哈,我这里直接用的react的hook写的,最近这一年没怎么有时间更新博客,这两年我换技术栈了,换成react了,中间写了很多组件,后面我有空了全部都更新出来吧,不过都是react的哦,当然有时候vue也在使用哈,一般我都是直接上代码,不存在过多的讲解,因为不是特别难的代码,一......
  • [MAUI]弧形进度条与弧形滑块的交互实现
    @目录弧形基类定义绘制弧弧形进度条(ProgressBar)添加动画宽度补偿文本弧形滑块(Slider)创建控制柄拖动事件处理项目地址进度条(ProgressBar)用于展示任务的进度,告知用户当前状态和预期;滑块(Slider)通过拖动滑块在一个固定区间内进行选择数值范围。进度条和滑块都是进度值在UI界面......
  • Qt编写手机版本视频播放器和Onvif工具(可云台和录像)
    一、前言用Qt+ffmpeg写播放器很多人有疑问,为何不用Qt自己的多媒体框架来写,最重要的原因是Qt自带的目前都依赖具体的本地解码器,如果解码器不支持,那就是歇菜的,最多支持个MP4格式,而且在手机上也都是支持本地少部分格式的文件,对于各种视频流完全无能无力。而ffmpeg就不一样了,本身就是......
  • RTSP/Onvif安防视频平台EasyNVR设备在线但通道无法播放的原因排查
    EasyNVR是基于RTSP/Onvif协议的视频平台,可支持将接入的视频流进行全平台、全终端的分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求,我们也提供了丰富的API接口供用户调用。有需要的用户可参照官方接口文档进行操作。有用......
  • 博客园博客美化使用APlayer+Meting实现音乐播放
    效果图如下把代码贴入 页脚HTML 代码中<!--线条背景动画--><!--color:线条颜色,默认:‘0,0,0’;三个数字分别为(R,G,B),注意使用,分割opacity:线条透明度0~1,默认0.5count:线条总数量,默认99z-Index:背景的z-Index属性,css用于控制所在层的位置,默认-1(1置顶显......
  • 进度条
     <!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="author"content="http://www.softwhy.com/"/><title></title><styletype="text/css">*{margin:0;......
  • 实现网页版浏览器播放rtsp视频流的解决方案
    有同学问道:需要实时播放摄像头rtsp视频流,而浏览器不能直接播放,怎样解决?实现这个需求可以通过插件或者转码来实现。要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的方案。这里的方案都是我尝试过了的,有些成功,有些没成功。但是因为每个项目情况不同,这......
  • 用Elevator优化AV1视频播放
    AOM会员Vimeo通过Elevator改善AV1解码过程中的丢帧和质量下降问题。感谢Google软件工程师姜健对本文做的技术审校。文/RaphaëlZumer译/刘俊技术审校/姜健https://medium.com/vimeo-engineering-blog/enhancing-av1-playback-with-elevator-6a2991c1aac0作为AV1编码标准的早......
  • FFMPEG 的跨平台视频播放器
    使用ffmpegapi进行视频解码的步骤概括来说,视频解码的步骤包括:创建解码器解封装,从视频流中读取一个packet将packet送给解码器,解码器进行解码从解码器中,取回解码后的数据创建解码器在ffmpeg中与解码器相关的结构体有两个:AVCodec和AVCodecContext。AVCodec结构体......