view sourceprint?01 /*变量声明*/
02 private ImageButton playBtn = null;//播放、暂停
03 private ImageButton latestBtn = null;//上一首
04 private ImageButton nextButton = null;//下一首
05 private ImageButton forwardBtn = null;//快进
06 private ImageButton rewindBtn = null;//快退
07 private TextView playtime = null;//已播放时间
08 private TextView durationTime = null;//歌曲时间
09 private SeekBar seekbar = null;//歌曲进度
10 private Handler handler = null;//用于进度条
11 private Handler fHandler = null;//用于快进
12 private int currentPosition;//当前播放位置
[代码] 获得上一个activity传来的数据
view sourceprint?01 @Override
02 protected void onCreate(Bundle savedInstanceState) {
03 super.onCreate(savedInstanceState);
04 setContentView(R.layout.play);
05 Intent intent = this.getIntent();
06 Bundle bundle = intent.getExtras();
07 _ids = bundle.getIntArray("_ids"); //获得保存音乐文件_ID的数组
08 position = bundle.getInt("position"); //获得应该播放的音乐的号数,既播放第几首
09 //代码未完,见下面的代码
10 }
[代码] 初始化控件
view sourceprint?1 playtime = (TextView)findViewById(R.id.playtime); //显示已经播放的时间
2 durationTime = (TextView)findViewById(R.id.duration); //显示歌曲总时间
3 playBtn = (ImageButton)findViewById(R.id.playBtn); //开始播放、暂停播放按钮
4 latestBtn = (ImageButton)findViewById(R.id.latestBtn); //播放上一首按钮
5 nextButton = (ImageButton)findViewById(R.id.nextBtn); //播放下一首按钮
6 forwardBtn = (ImageButton)findViewById(R.id.forwardBtn); //快进按钮
7 rewindBtn = (ImageButton)findViewById(R.id.rewindBtn); //快退按钮
8 seekbar = (SeekBar)findViewById(R.id.seekbar); //播放进度条
[代码] 定义各控件的回调函数
view sourceprint?001 playBtn.setOnClickListener(new View.OnClickListener() { //点击“播放、暂停”按钮时回调
002 @Override
003 public void onClick(View v) {
004 if (mp.isPlaying()){ //如果正在播放则暂停
005 pause();
006 playBtn.setBackgroundResource(
007 R.drawable.play_selecor); //更改按键状态图标
008 } else{ //如果没有播放则恢复播放
009 play();
010 playBtn.setBackgroundResource(
011 R.drawable.pause_selecor); //更改按键状态图标
012
013 }
014 }
015 });
016
017 latestBtn.setOnClickListener(new View.OnClickListener() {//点击“播放上一首”按钮时回调
018 @Override
019 public void onClick(View v) {
020 int num = _ids.length; //获得音乐的数目
021 if(position==0){ //如果已经时第一首则播放最后一首
022 position=num-1;
023 }else{ //否则播放上一首
024 position-=1;
025 }
026 int pos = _ids[position]; //得到将要播放的音乐的_ID
027 setup(); //做播放前的准备工作
028 play(); //开始播放
029 }
030 });
031
032 nextButton.setOnClickListener(new View.OnClickListener(){//点击“播放下一首”按钮时回调
033 @Override
034 public void onClick(View v) {
035 int num = _ids.length; //获得音乐的数目
036 if (position==num-1){ //如果已经是最后一首,则播放第一首
037 position=0;
038 }else{
039 position+=1; //否则播放下一首
040 }
041 int pos = _ids[position]; //得到将要播放的音乐的_ID
042 setup(); //做播放前的准备工作
043 play(); //开始播放
044 }
045 });
046
047 forwardBtn.setOnTouchListener(new OnTouchListener() { //点击“快进”按钮时回调
048 @Override
049 public boolean onTouch(View v, MotionEvent event) {
050 switch (event.getAction()) {
051 case MotionEvent.ACTION_DOWN:
052 fHandler.post(forward); //此处使用handler对象更新进度条
053 mp.pause(); //点击快进按钮时,音乐暂停播放
054 break;
055
056 case MotionEvent.ACTION_UP:
057 fHandler.removeCallbacks(forward);
058 mp.start(); //松开快进按钮时,音乐暂恢复播放
059 playBtn.setBackgroundResource(
060 R.drawable.pause_selecor);
061 break;
062 }
063 return false;
064 }
065 });
066
067 rewindBtn.setOnTouchListener(new OnTouchListener() { //点击“快退”按钮时回调
068 @Override
069 public boolean onTouch(View v, MotionEvent event) {
070 switch (event.getAction()) {
071 case MotionEvent.ACTION_DOWN:
072 fHandler.post(rewind);
073 mp.pause(); //点击快退按钮时,音乐暂暂停播放
074 break;
075
076 case MotionEvent.ACTION_UP:
077 fHandler.removeCallbacks(rewind);
078 mp.start(); //松开快退按钮时,音乐暂恢复播放
079 playBtn.setBackgroundResource(
080 R.drawable.pause_selecor);
081 break;
082 }
083 return false;
084 }
085 });
086
087 seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
088 @Override
089 public void onStopTrackingTouch(SeekBar seekBar) {
090 mp.start(); //停止拖动进度条时,音乐开始播放
091 }
092 @Override
093 public void onStartTrackingTouch(SeekBar seekBar) {
094 mp.pause(); //开始拖动进度条时,音乐暂停播放
095 }
096
097 @Override
098 public void onProgressChanged(SeekBar seekBar, int progress,
099 boolean fromUser) {
100 if(fromUser){
101 mp.seekTo(progress); //当进度条的值改变时,音乐播放器从新的位置开始播放
102 }
103 }
104 });
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android 小项目开发示例大全--20个通用具体应用程序实例源码 备忘录 定时器 客户端 广播 播放器 数据存储 数据库 文件解析 日历 服务器 桌面小程序 画图 相册 计算器 记事本 谷歌地图 贪吃蛇 适配器 通知功能 阅读器
资源推荐
资源详情
资源评论
收起资源包目录
Android 小项目开发示例大全-20个通用具体应用程序实例源码.zip (1020个子文件)
resources.ap_ 802KB
resources.ap_ 171KB
resources.ap_ 56KB
resources.ap_ 56KB
resources.ap_ 56KB
resources.ap_ 40KB
resources.ap_ 23KB
resources.ap_ 22KB
resources.ap_ 17KB
resources.ap_ 14KB
resources.ap_ 14KB
resources.ap_ 13KB
resources.ap_ 13KB
resources.ap_ 13KB
resources.ap_ 12KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 11KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
resources.ap_ 10KB
proj_pullimage.apk 806KB
proj_timer.apk 174KB
proj_store_file.apk 61KB
proj_store.apk 60KB
proj_add.apk 60KB
proj_calculate.apk 44KB
proj_snakes.apk 32KB
proj_player.apk 29KB
proj_photos.apk 23KB
proj_memo.apk 22KB
proj_calender.apk 22KB
proj_noteBook.apk 21KB
proj_textReader.apk 20KB
proj_videoPlayer.apk 20KB
prij_mySocket.apk 20KB
Mysnake.apk 17KB
proj_sqlite.apk 17KB
proj_googlemap.apk 16KB
jisuanji.apk 16KB
proj_sqlite_provider.apk 16KB
proj_snake.apk 16KB
proj_memoWidgets.apk 15KB
proj_myshap.apk 15KB
proj_adapter.apk 15KB
proj_bindr_service.apk 15KB
proj_service.apk 15KB
proj_xmlParse.apk 15KB
proj_notification.apk 15KB
proj_widgets.apk 15KB
proj_broadcastReceiver.apk 14KB
proj_mytimer.apk 14KB
proj_sender.apk 13KB
proj_broadcast.apk 13KB
proj_notice.apk 13KB
MainActivity.java.bak 3KB
Dologin.java.bak 2KB
AndroidManifest.xml.bak 962B
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
proguard.cfg 1KB
共 1020 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
探索者我有我路向
- 粉丝: 328
- 资源: 2100
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- hrnet关键点检测onnx模型
- chromedriver-win64-132.0.6808.0
- chromedriver-win64-132.0.6807.0
- chromedriver-win64-132.0.6806.0
- 带有界面的多线程爬虫软件源码,使用python爬取漫画图片,可采用多线程爬取,可做毕业设计
- chromedriver-win64-132.0.6804.0
- 我电脑的zsh配置,oh my zsh + powerlevel10k + Hack Nerd Font
- pcie xdma xilinx 上位机应用
- chromedriver-win64-132.0.6803.1
- chromedriver-win64-132.0.6803.0
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页