handler+MediaPlayer+ProgressBar

package com.example.timeview;

import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
public class MainActivity extends Activity {
	private ProgressBar progressBar;
	private TextView time;
	private MediaPlayer mediaPlayer;
	private int o=5,j=0;
	
	Handler handler=new Handler(){
		public void handleMessage(android.os.Message msg) {
			//j是progressBar的进度,o是五秒倒计时进度
			j+=20;
			o--;
			//判断o如果小于0,说明五秒倒计时结束
				if (o<0) {
					//设置音乐结束
					mediaPlayer.stop();
					//五秒倒计时结束,跳转到功能页面
					Intent intent=new Intent(MainActivity.this,Main2Activity.class);
					startActivity(intent);
					//关闭当前页面
					finish();
				} else {
					//设置音乐开始
					mediaPlayer.start();
					//设置进度条的进度
					progressBar.setProgress(j);
					//改变倒计时的显示
					time.setText(o+"s");
					//调取子线程
					handler.sendEmptyMessageDelayed(0, 1000);
				}	
				}
		};
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//获取控件
		progressBar=(ProgressBar) findViewById(R.id.progressBar);
		time=(TextView) findViewById(R.id.time);
		//创建mediaPlayer音乐
		mediaPlayer=new MediaPlayer();
		//找到要播放的音乐
		//raw文件夹,创建时文件夹名字不可改变,并且音乐名字为英文
		mediaPlayer=MediaPlayer.create(MainActivity.this, R.raw.cc);
		//创建一个子线程
		new Thread(){
			@Override
			public void run() {
				super.run();
				//间隔时间
				handler.sendEmptyMessageDelayed(1, 1000);
			}
		}.start();
	}
	//点击给o赋值0,跳过
	public void button_tiaoguo(View view){
		o=0;
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值