package com.example.media4;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.app.Activity;
import android.app.TabActivity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.SimpleAdapter;
import android.widget.SimpleAdapter.ViewBinder;
import android.widget.TabHost;
public class MainActivity extends TabActivity {
private Button playBtn, pauseBtn, stopBtn;
private MediaPlayer player;
private SeekBar seekBar;
private ListView listView;
private List<Map<String, Object>> musicList;
private int currentMusic = 0;
private String path = null;
private MusicService musicService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
// im = (ImageView) this.findViewById(R.id.imageView1);
//
// List<Map<String, Object>> musicList = MusicUtils.getMusicList(this);
//
// Bitmap bm = (Bitmap) (musicList.get(1).get("albumImg"));
//
// im.setImageBitmap(bm);
//==============界面显示begin=========================================
musicList = MusicUtils.getMusicList(this);
TabHost tabhost = getTabHost();
tabhost.addTab(tabhost.newTabSpec("1").setIndicator("music")
.setContent(R.id.tab001));
tabhost.addTab(tabhost.newTabSpec("2").setIndicator("List")
.setContent(R.id.tab002));
playBtn = (Button) findViewById(R.id.button1);
pauseBtn = (Button) findViewById(R.id.button2);
stopBtn = (Button) findViewById(R.id.button3);
seekBar = (SeekBar) findViewById(R.id.seekBar1);
listView = (ListView) findViewById(R.id.listView1);
// musicList = MusicUtils.getMusicList(this);
SimpleAdapter adapter = new SimpleAdapter(this, musicList,
R.layout.list_item, new String[] { "albumImg", "musicName",
"artistName", "time" }, new int[] { R.id.img_ablumn,
R.id.tv_musicName, R.id.tv_aritsName, R.id.tv_time });
// 绑定专辑图片
adapter.setViewBinder(new ViewBinder() {
@Override
public boolean setViewValue(View view, Object data, String arg2) {
if (view instanceof ImageView && data instanceof Bitmap) {
ImageView img = (ImageView) view;
img.setImageBitmap((Bitmap) data);
return true;
}
return false;
}
});
listView.setAdapter(adapter);
// ================界面显式END
// 响应事件
// // listview 标题 点击事件 监听
// listView.setOnItemClickListener(new OnItemClickListener() {
//
// @Override
// public void onItemClick(AdapterView<?> parent, View view,
// int position, long id) {
// currentMusic = position;
// path = (String) musicList.get(position).get("filePath");
// try {
// player.reset();
// player.setDataSource(path);
// player.prepareAsync();
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
// });
// =================进度条拖动事件监听===================
// seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
//
// @Override
// public void onStopTrackingTouch(SeekBar seekBar) {
// // TODO Auto-generated method stub
// player.seekTo(seekBar.getProgress());
//
// }
//
// @Override
// public void onStartTrackingTouch(SeekBar seekBar) {
// // TODO Auto-generated method stub
//
// }
//
// @Override
// public void onProgressChanged(SeekBar seekBar, int progress,
// boolean fromUser) {
// // TODO Auto-generated method stub
//
// }
// });
// ===================歌曲播放完 监听== 循环播放========
// player.setOnCompletionListener(new OnCompletionListener() {
//
// @Override
// public void onCompletion(MediaPlayer mp) {
// // TODO Auto-generated method stub
// System.out.println("currentMusic=" + currentMusic);
// System.out.println("musicList.size=" + musicList.size());
//
// if (currentMusic < musicList.size() - 1) {
// currentMusic++;
// path = (String) musicList.get(currentMusic).get("filePath");
// try {
// player.reset();
// player.setDataSource(path);
// player.prepareAsync();
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// } else if (currentMusic == musicList.size() - 1) {
// player.reset();
// // player.release();
// //h.removeCallbacks(t);
// seekBar.setProgress(0);
// path = null;
// }
//
// }
// });
// // 暂停事件
pauseBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
musicService.pause();
}
});
// =======================停止事件======================
stopBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
musicService.stop();
}
});
// 播放事件监听
playBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
musicService.play();
}
});
//===================服务代码===================================
ServiceConnection conn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
musicService=((MusicService.MyBinder)service).getService();
musicService.setSeekBar(seekBar);
musicService.setMusicList(musicList);
}
};
Intent in= new Intent("com.neusoft.music");
startService(in);
bindService(in, conn,BIND_AUTO_CREATE);
}
// ------------------onCread--------END-----------------
}