Android应用开发--MP3音乐播放器代码实现(一),学Android看这就完事了
long id) {
if(mp3Infos != null) {
Mp3Info mp3Info = mp3Infos.get(position);
Log.d(“mp3Info–>”, mp3Info.toString());
Intent intent = new Intent();
intent.putExtra(“url”, mp3Info.getUrl());
intent.putExtra(“MSG”, AppConstant.PlayerMsg.PLAY_MSG);
intent.setClass(MainActivity.this, PlayerService.class);
startService(intent); //启动服务
}
}
}
3. 定义一个继承Service的服务类PlayerServie(未完善的Service类)
package com.wwj.sb.service;
import android.annotation.SuppressLint;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.IBinder;
import com.wwj.sb.domain.AppConstant;
@SuppressLint(“NewApi”)
public class PlayerService extends Service {
private MediaPlayer mediaPlayer = new MediaPlayer(); //媒体播放器对象
private String path; //音乐文件路径
private boolean isPause; //暂停状态
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(mediaPlayer.isPlaying()) {
stop();
}
path = intent.getStringExtra(“url”);
int msg = intent.getIntExtra(“MSG”, 0);
if(msg == AppConstant.PlayerMsg.PLAY_MSG) {
play(0);
} else if(msg == AppConstant.PlayerMsg.PAUSE_MSG) {
pause();
} else if(msg == AppConstant
.PlayerMsg.STOP_MSG) {
stop();
}
return super.onStartCommand(intent, flags, startId);
}
/**
播放音乐
@param position
*/
private void play(int position) {
try {
mediaPlayer.reset();//把各项参数恢复到初始状态
mediaPlayer.setDataSource(path);
mediaPlayer.prepare(); //进行缓冲
mediaPlayer.setOnPreparedListener(new PreparedListener(position));//注册一个监听器
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
- 暂停音乐
*/
private void pause() {
if (mediaPlayer != null && mediaPlayer.isPlaying()) {
mediaPlayer.pause();
isPause = true;
}
}
/**
- 停止音乐
*/
private void stop(){
if(mediaPlayer != null) {
mediaPlayer.stop();
try {
mediaPlayer.prepare(); // 在调用stop后如果需要再次通过start进行播放,需要之前调用prepare函数
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onDestroy() {
if(mediaPlayer != null){
mediaPlayer.stop();
mediaPlayer.release();
}
}
/**
实现一个OnPrepareLister接口,当音乐准备好的时候开始播放
*/
private final class PreparedListener implements OnPreparedListener {
private int positon;
public PreparedListener(int positon) {
this.positon = positon;
}
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start(); //开始播放
if(positon > 0) { //如果音乐不是从头播放
mediaPlayer.seekTo(positon);
}
}
}
总结
其实要轻松掌握很简单,要点就两个:
- 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
- 多练。 (视频优势是互动感强,容易集中注意力)
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
以上就是总结的关于在面试的一些总结,希望对大家能有些帮助,除了这些面试中需要注意的问题,当然最重要的就是刷题了,这里放上我之前整理的一份超全的面试专题PDF
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
高级架构技术进阶脑图、Android开发面试专题资料*,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
[外链图片转存中…(img-DqfkyUgY-1647756301384)]
这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~
Android应用开发--MP3音乐播放器代码实现(一),学Android看这就完事了相关推荐
- Android应用开发--MP3音乐播放器代码实现(一)
Android应用开发--MP3音乐播放器代码实现(一) 需求1:将内存卡中的MP3音乐读取出来并显示到列表当中 1. 从数据库中查询所有音乐数据,保存到List集合当中,List当中存放的是Mp3I ...
- Android应用开发--MP3音乐播放器代码实现(二)
2013年5月25日 简.美音乐播放器开发 小巫在这里罗列这个播放器已经实现的功能: 1. 自动显示音乐列表 2. 点击列表播放音乐 3. 长按列表弹出对话框 4. 暂停音乐 5. ...
- Android应用开发--MP3音乐播放器代码实现(二,android开发实例大全
} switch (repeatState) { case isCurrentRepeat: // 单曲循环 repeatBtn .setBackgroundResource(R.drawable.r ...
- Android应用开发--MP3音乐播放器滚动歌词实现
Android应用开发--MP3音乐播放器滚动歌词实现 2013年6月2日 简.美音乐播放器开发记录 -----前话 有网友给我博客评论说,让我借鉴好的Android代码,代码贴出来的时候最好整体先 ...
- Android应用开发--MP3音乐播放器Service实现
Android应用开发--MP3音乐播放器Service实现 2013年5月29日简.美音乐播放器开发记录 让网友们久等啦,关于简.美音乐播放器的开发,最重要的Service类总算是要发博了.关于An ...
- Android应用开发 MP3音乐播放器滚动歌词实现
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...
- Android应用开发--MP3音乐播放器滚动歌词实现,flutter跳转动画
2. 自定义View 3. 加入布局文件 4. 编写歌词处理类 5. 在Service里面实现同步更新歌词 ----代码实现 –LrcContent.java package com.wwj.sb.d ...
- 音乐应用开发Android应用开发--MP3音乐播放器界面设计(2)
在写这篇文章之前,xxx已写过了几篇关于改音乐应用开发主题的文章,想要了解的朋友可以去翻一下之前的文章 Android应用开发--MP3音乐播放器界面计划(2) 2013年5月25日 简.美音乐播放器 ...
- Android应用开发--MP3音乐播放器界面设计(1)
Android应用开发--MP3音乐播放器界面设计(1) 近期突然想自己开发一款MP3播放器,所以就有了上面的界面, ...
- Android应用开发--MP3音乐播放器界面设计(2)
Android应用开发--MP3音乐播放器界面设计(2) 2013年5月25日 简.美音乐播放器开发 真得很无奈,原本打算很快结束这个实战项目的,但因为各种满课.学科.杂事给耽误了进度,现在小巫的这个 ...
最新文章
- 双十一报名截止,决赛在即!AI Challenger2018极客峰会免费抢票!
- maven入门(1-3)maven的生命周期
- CH Round #30 摆花[矩阵乘法]
- window 2008 和 windows vista windows 7 安装 MSMQ
- ASP.NET Web API 中的属性路由
- estimate()==>从一组对应的点估算变换是否成功
- 将控制台输出重定向到textbox的dotnet类
- java怎么设置窗体title_自定义Java窗口标题栏菜单
- Java三种方法实现字符串排序
- DoS攻击原理和防御方法
- HLK 微软驱动签名过程中踩过的坑
- 智能指针的标准之争:Boost vs. Loki [转]
- 携程PMO | 小罗说敏捷-WIP限制在制品
- Java Swing(二)按钮点击事件处理ActionListener
- eth一张_千呼万唤的以太坊20到底启动了!你们据有32个ETH吗?
- 微信零钱模拟器微信小程序源码下载查收充电器自动充钱
- win11突然断网,然后找不到wifi图标,记录一下
- Maven项目打包时报错Cannot invoke “org.apache.maven.surefire.shade.org.apache.commons.lang3.JavaVersion.atLe
- 亲测有效,mac电脑Office word修改默认粘贴格式 无格式粘贴
- SAP 公司间关联交易 外向交货单自动生成内向交货单报错:处理的单位XXXXXXX已经入库.无法进行分配