本篇文章主要介绍了"android本地音乐播放(二)",主要涉及到Android方面的内容,对于Android开发感兴趣的同学可以参考一下:
MainActivity 代码package cn.tedu.music_player_2.activity;import java.util.List;imp...
MainActivity 代码
package cn.tedu.music_player_2.activity;
import java.util.List;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SeekBar;
import android.widget.TextView;
import cn.tedu.music_player_2.R;
import cn.tedu.music_player_2.adapter.MusicAdapter;
import cn.tedu.music_player_2.app.MusicPlayerApplication;
import cn.tedu.music_player_2.entity.Music;
import cn.tedu.music_player_2.service.PlayMusicService;
import cn.tedu.music_player_2.util.CommonUtils;
import cn.tedu.music_player_2.util.IMusicPlayer;
/**
* MainActivity
*
* @author chengheng
* @version 2.0
*/
public class MainActivity extends Activity implements View.OnClickListener,
OnItemClickListener, OnSeekBarChangeListener {
/**
* ListView:歌曲列表
*/
private ListView lvMusics;
/**
* ImageButton:播放或暂停
*/
private ImageButton ibPlayOrPause;
/**
* ImageButton:播放上一首
*/
private ImageButton ibPrevious;
/**
* ImageButton:播放下一首
*/
private ImageButton ibNext;
/**
* TextView:显示当前播放的歌曲的名称
*/
private TextView tvMusicTitle;
/**
* SeekBar:歌曲的播放进度
*/
private SeekBar sbMusicProgress;
/**
* TextView:歌曲当前播放到的时间
*/
private TextView tvMusicCurrentPosition;
/**
* TextView:当前播放的歌曲的时长
*/
private TextView tvMusicDuration;
/**
* 歌曲数据的List集合
*/
private List musics;
/**
* 歌曲列表的Adapter
*/
private MusicAdapter musicAdapter;
/**
* Application
*/
private MusicPlayerApplication app;
/**
* ServiceConnection:Activity与Service建立的连接
*/
private InnerServiceConnection conn;
/**
* 当Activity与Service连接后,调用Service方法的工具
*/
private IMusicPlayer player;
/**
* 更新歌曲播放信息的线程
*/
private UpdateProgressThread updateProgressThread;
/**
* 播放器是否已经开始运行
*/
private boolean isPlayerWorking;
/**
* 用户是否正在拖拽进度条
*/
private boolean isUserTrackingTouch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 绑定Service
Intent intent = new Intent(this, PlayMusicService.class);
conn = new InnerServiceConnection();
bindService(intent, conn, BIND_AUTO_CREATE);
// 初始化控件
lvMusics = (ListView) findViewById(R.id.lv_musics);
ibPlayOrPause = (ImageButton) findViewById
(R.id.ib_play_or_pause);
ibPrevious = (ImageButton) findViewById(R.id.ib_previous);
ibNext = (ImageButton) findViewById(R.id.ib_next);
tvMusicTitle = (TextView) findViewById(R.id.tv_music_title);
sbMusicProgress = (SeekBar) findViewById(R.id.sb_music_progress);
tvMusicCurrentPosition = (TextView) findViewById
(R.id.tv_music_current_position);
tvMusicDuration = (TextView) findViewById
(R.id.tv_music_duration);