Android Studio学写英语听写APP(音乐播放器)一
最近迷上了AndroidAPP,看了点资料就边学边写,只是打发时间的个人爱好,工具为Android Studio3.0.1,为了偷懒,准备给孩子写个听写APP,思路是到时候从APP下载音频资源包到SD卡,APP播放直接读取储存路径下的音频,不用从Android自带的媒体库读取(因为还不会遍历…)。先弄个最简单的指定路径播放和APP资源里MP3播放。
APP资源里MP3播放
XML 略,
java代码:
//通过create()方法设置数据源,则不能写mediaPlayer.prepare()方法final MediaPlayer mp =MediaPlayer.create(this, R.raw.yes);//为按钮play添加监听事件play.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mp.start();Log.v("0001","Main01");}});
播放指定路径的MP3
使用的Genymotion模拟器,这是拷贝的MP3文件
代码中用setDataSource指定路径时就要用这个路径,
mp.setDataSource("/storage/emulated/0/mp3/002.mp3")
在Android Device Monitor中看这个路径为:/mnt/shell/emulated/0/mp3/001.mp3 用这个路径是不能找到音频的,但是我用真机时,用Android Device Monitor中的实际地址能找到音频文件,不懂。
XML就是3个功能键,下面直接上java代码:
public class bao_cun extends AppCompatActivity {/*** Isstart 为播放状态变量,0为停止,1为播放,2为暂停* currentPlayPosition 为记录暂停时的播放时间变量,继续播放时从这个变量时间开始播放。*///实例化MediaPlayer,并设定静态变量 mpprivate MediaPlayer mp = new MediaPlayer();public static MediaPlayer playe = null;//播放状态private int Isstart = 0;//音乐暂停后读取标记变量private int currentPlayPosition;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//注册XMLsetContentView(R.layout.activity_bao_cun);TextView fanHui = (TextView) findViewById(R.id.fanHui_01);Button sd_boFang = (Button) findViewById(R.id.sD_bofang);Button sd_tingZhi = (Button) findViewById(R.id.sD_tingZhi);Button sd_zanTing = (Button) findViewById(R.id.sD_zanTing);//返回前一页fanHui.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(bao_cun.this, MainActivity.class);startActivity(intent);}});//暂停sd_zanTing.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(Isstart == 1){//isPlaying()返回 boolean,是否正在播放if(mp != null && mp.isPlaying()){//记录暂停时的时间currentPlayPosition = mp.getCurrentPosition();mp.pause();Isstart = 2;}}else {//读取并跳至记录的暂停时的时间mp.seekTo(currentPlayPosition);mp.start();Isstart = 1;}}});//停止sd_tingZhi.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(mp != null){mp.stop();mp.reset();Isstart = 0;}}});//播放按钮监听sd_boFang.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 跳转kaibo1();//输出日志Log.v("0001","yunxing");}});}private void kaibo1() {//如果是停止状态就重新开始播放if(Isstart == 0) {//防错误处理try {//mp3实际地址(三星手机)// mp.setDataSource("/storage/extSdCard/001.mp3");//模拟器地址mp.setDataSource("/storage/emulated/0/mp3/002.mp3");//输出调试信息System.out.println("OK001");//prepare方法是将资源同步缓存到内存中,一般加载本地较小的资源可以用这个//通过create()方法设置数据源,则不能写mediaPlayer.prepare()方法mp.prepare();System.out.println("OK002");//开始播放mp.start();Isstart = 1;//错误类型} catch (IOException e) {//出现错误处理e.printStackTrace();System.out.println("OK003");}//如果是暂停就继续播放}else if(Isstart == 2){//读取并跳至记录的暂停时的时间mp.seekTo(currentPlayPosition);mp.start();Isstart = 1;}else {//在播放时就无动作}}}
这里主要是借鉴了别人的代码,直通车:https://blog.csdn.net/u012156341/article/details/78979835
我其实就是把代码撸了遍,大概搞清了各自的作用。个人认为学东西在怎么看都没自己实际做一下来的快。
这里说明一下,近期学校老师要求听写就给孩子说汉语,让孩子写英文,所以这个APP就没必要写下去了。这会又把放了一段时间的8266弄出来折腾了。
Android Studio学写英语听写APP(音乐播放器)一相关推荐
- 基于Android studio有声听书系统 java音乐播放器系统
1:注册登录:未注册用户首先进行账号注册,注册成功后进行登录,已注册用户直接输入账号密码进行登录,登录成功后进入主页面. 2:主页面:通过左右滑动可以实现对推荐界面.订阅界面.历史界面的切换,推荐界面 ...
- android 音乐播放器专辑图片旋转,Android应用开发之简易、大气音乐播放器实现专辑倒影效果...
今天要实现的功能是实现专辑倒影效果,这个功能已经属于图像处理方面的了,对图像处理我不怎么在行,等一下会介绍一个很实用的工具类,专门用来进行图像处理的.这个工具类不是我写的,我只是拿来用到自己的项目当中 ...
- HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)
用HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌) 效果如下:(鼠标点击按钮可以实现播放或暂停,按钮会旋转,实现了歌词同步,功能还需改进) 代码如下: <!DOCTYPE htm ...
- 用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
- 用Qt写一个简单的音乐播放器(六):显示歌词(正则表达式)
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
- 用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐
一.前言 QMediaplayer可以用于解析音频文件和视频文件,继承自QMediaObject,涉及到的对象为QMediaContent.QMediaObject可以提供关于媒体内容的接入,通过UR ...
- 使用python加PyQt5,利用QMediaPlayer写一个简易的音乐播放器(进度条拖动,音量改变,播放停止切换,歌曲列表))
当你学习了python之后,总想着利用它去做些什么,无论是制作小工具还是小游戏,都是一种锻炼. 那么,利用python加上PyQt5写一个简单的音乐播放器,可能会是一个有趣的体验. 下面我会分享一下如 ...
- 用Qt写一个简单的音乐播放器(五):歌曲播放时间显示
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
- 用Qt写一个简单的音乐播放器(七):界面美化(QSS样式表)
一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...
最新文章
- 《JavaScript启示录》——1.21 JavaScript对象和Object()对象
- 软件性能测试关注点,盘点性能测试必须掌握的技术点
- MAT之SVM/BP:SVR(better)和BP两种方法比较且实现建筑物钢筋混凝土抗压强度预测
- java安全 ——JAAS(Java 认证和授权服务)开发指南
- linux 控制终端卡,配置通过串口控制linux操作系统的终端
- [JZOJ P1271] [DP]集合求和
- oracle 复制数据 insert into、as select
- zend studio7 在 ubuntu9.10 中按钮失效只能用回车解决办法
- 第二季-专题16-LCD亮起来
- Hibernate常用配置
- 数据库小白 T-SQL练习500题 超详细!带素材!持续更新中~
- Selenium_python 断言
- Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo
- ubuntu安装pytorch3d
- 京东、闲鱼、转转的二手战场
- linux文件句柄上线的修改,修改Linux文件句柄限制
- 3 MyBatis动态SQL
- c语言直线和椭圆的交点,直线与椭圆相交求交点
- 2021年9月CISP-A(注册信息系统审计师)培训圆满结束
- 基于改进神经网络的风电功率预测(Matlab代码实现)
热门文章
- 相机模型-鱼眼模型/鱼眼镜头标定基本原理及实现(2)
- 视频分辨率、码流、帧率、带宽、存储空间
- 【硬件设计】AC-DC整流桥电路
- 疯子坐飞机,第1个人疯了,随便坐下,第n个人能够坐在自己位置上的概率
- java入侵检测源码_Java Web中的入侵检测及简单实现
- Cloudxns使用心得
- d58站群inc.php,站群 - 蜘蛛侠站群_站群程序_D58.NET站群系统
- MONTHS_BETWEEN
- Android Q(10)简介
- idea报错Artifact is not deployed. Press ‘Deploy‘ to start deployment