您的位置:首页 > 移动开发 > Android开发

Android——播放器和图片轮播

2016-06-20 09:36 465 查看
layout文件:

package com.hanqi.musicplay;

import android.media.MediaPlayer;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

ProgressBar pb_1;
TextView tv_1;
MediaPlayer mediaPlayer;
ImageView iv_1;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pb_1 = (ProgressBar)findViewById(R.id.pb_1);
tv_1 = (TextView)findViewById(R.id.tv_1);
iv_1 = (ImageView)findViewById(R.id.iv_1);

final int[]iv = {R.drawable.b11,R.drawable.b21,R.drawable.b3,R.drawable.b41};
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
iv_1.setImageResource(iv[msg.arg1]);
}
};
//图片轮播 在分线程
new Thread(new Runnable() {
@Override
public void run() {

for (int i = 0;i<iv.length;i++)
{
//iv_1.setImageResource(iv[i]);
Message message = new Message();
message.what = 0;
message.arg1 = i;
handler.sendMessage(message);
try {
Thread.sleep(2000);
}
catch (Exception e)
{

}
if (i == iv.length-1)i=-1;
}
}
}).start();

}
//播放
public void play_onClick(View v)
{
//构造mediaPlayer
if (mediaPlayer == null)
{
//用静态方法构造
mediaPlayer = MediaPlayer.create(this,R.raw.test);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
tv_1.setText("播放状态:播放完成");
mediaPlayer.reset();
mediaPlayer.release();
mediaPlayer = null;
}
});
//设置进度条的最大长度
pb_1.setMax(mediaPlayer.getDuration());
//启动分线程
new Thread(){
@Override
public void run() {
//循环条件
while (mediaPlayer != null)
{
//更新进度
//设置当前进度值:和播放器的当前进度有关
pb_1.setProgress(mediaPlayer.getCurrentPosition());
try {
Thread.sleep(500);
}
catch (Exception e)
{

}
}
}
}.start();
}
mediaPlayer.start();
tv_1.setText("播放状态:正在播放");
}
//停止
public void stop_onClick(View v)
{
if (mediaPlayer != null)
{
mediaPlayer.stop();
mediaPlayer.reset();
mediaPlayer.release();
mediaPlayer = null;
pb_1.setProgress(0);
tv_1.setText("播放状态:停止播放");
}
}
//暂停
public void pause_onClick(View v)
{
if (mediaPlayer != null && mediaPlayer.isPlaying())
{
mediaPlayer.pause();
tv_1.setText("播放状态:暂停播放");
}

}
//退出
//    public void exit_onClick(View v)
//    {
//        stop_onClick(v);
//        finish();
//    }
}


MainActivity
效果为:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: