Android Studio——简易音频播放器
目的
设计一个具有选歌功能的音频播放器
工具及环境
使用java语言,在Android studio平台上进行开发
功能设计
界面有三个按钮选项,可以停止、播放、暂停音乐。通过选择列表的音乐,播放相应的音频文件
设计思路
先完成界面设计,三个选项按钮和歌曲选择列表。通过重置MediaPlayer到初始状态实现歌曲的停止功能
代码
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:id="@+id/text1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:text="音频播放器"android:textSize="40sp"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginTop="30sp"android:layout_gravity="center"><ImageButtonandroid:id="@+id/Stop"android:layout_height="wrap_content"android:layout_width="wrap_content"android:src="@drawable/music_stop" /><ImageButtonandroid:id="@+id/Start"android:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_marginLeft="20sp"android:src="@drawable/music_play" /><ImageButtonandroid:id="@+id/Pause"android:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_marginLeft="20sp"android:src="@drawable/music_pause" /></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginTop="30sp"android:orientation="vertical"><RadioGroupandroid:layout_width="wrap_content"android:layout_height="wrap_content"><RadioButtonandroid:id="@+id/r1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="卡路里"android:textSize="25dp"/><RadioButtonandroid:id="@+id/r2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GDFR"android:textSize="25dp"/><RadioButtonandroid:id="@+id/r3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Sugar"android:textSize="25dp"/></RadioGroup></LinearLayout>
</LinearLayout>
MainActivity.java
package com.example.firstapp;import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.TextView;
public class MainActivity extends Activity {RadioButton r1, r2, r3;TextView txt;ImageButton mStopButton, mStartButton, mPauseButton;MediaPlayer mMediaPlayer;int res_file1 = R.raw.cal;int res_file2 = R.raw.gdfr;int res_file3 = R.raw.sugar;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/* 构建MediaPlayer对象 */mMediaPlayer = new MediaPlayer();r1 = (RadioButton) findViewById(R.id.r1);r2 = (RadioButton) findViewById(R.id.r2);r3 = (RadioButton) findViewById(R.id.r3);txt = (TextView) findViewById(R.id.text1);mStopButton = (ImageButton) findViewById(R.id.Stop);mStartButton = (ImageButton) findViewById(R.id.Start);mPauseButton = (ImageButton) findViewById(R.id.Pause);mStopButton.setOnClickListener(new mStopClick());mStartButton.setOnClickListener(new mStartClick());mPauseButton.setOnClickListener(new mPauseClick());}/* 停止按钮事件 */class mStopClick implements OnClickListener {@Overridepublic void onClick(View v) {/* 是否正在播放 */if (mMediaPlayer.isPlaying()) {//重置MediaPlayer到初始状态mMediaPlayer.reset();}}}/* 播放按钮事件 */class mStartClick implements OnClickListener {@Overridepublic void onClick(View v) {if (r1.isChecked()) {if (mMediaPlayer.isPlaying()) {//重置MediaPlayer到初始状态mMediaPlayer.reset();mMediaPlayer.release();}try {mMediaPlayer = MediaPlayer.create(MainActivity.this, res_file1);mMediaPlayer.start();} catch (Exception e) {Log.i("ch1", "res err ....");}}if (r2.isChecked()) {if (mMediaPlayer.isPlaying()) {//重置MediaPlayer到初始状态mMediaPlayer.reset();mMediaPlayer.release();}try {mMediaPlayer = MediaPlayer.create(MainActivity.this, res_file2);mMediaPlayer.start();} catch (Exception e) {Log.i("ch1", "res err ....");}}if (r3.isChecked()) {if (mMediaPlayer.isPlaying()) {//重置MediaPlayer到初始状态mMediaPlayer.reset();mMediaPlayer.release();}try {mMediaPlayer = MediaPlayer.create(MainActivity.this, res_file3);mMediaPlayer.start();} catch (Exception e) {Log.i("ch1", "res err ....");}}}}/* 暂停按钮事件 */class mPauseClick implements OnClickListener {@Overridepublic void onClick(View v) {if (mMediaPlayer.isPlaying()) {/* 暂停 */mMediaPlayer.pause();} else {/* 开始播放 */mMediaPlayer.start();}}}}
界面效果:
Android Studio——简易音频播放器相关推荐
- Android Studio简易音乐播放器设计作业
Android Studio简易音乐播放器设计作业 实验成功展示 实验代码 MainActivity.java XML文件 class文件 利用BroadcastReceiver模拟音乐播放器,实现播 ...
- MediaPlayer 之简易音频播放器
应当随时学习,学习一切:应当集中全力,以求知道更多,知道一切. 目录结构 1. 前言 2. MediaPlayer介绍 3. MediaPlayer 实战 3.1 简易音频播放器 第一步:布局设置 第 ...
- Python实现简易音频播放器
1. 需要用到的Python库 pygame tkinter 2. 简易UI设计 audio_player = Tk() audio_player.title('Audio Player v1.0') ...
- 第8章系统服务(简易音频播放器的实现)
开发一个简易音乐播放器,要求实现: 综合使用Service,BroadCast,ContentProvider等组件实现后台播放. 播放和暂停.上一首.下一首.停止: 后台播放功能, 按下返回键退出应 ...
- QT——制作简易音频播放器
应用前提:只需要从阿里云数据库中读取选定的某一条实验数据的音频(.wav),现在的测试版本只是播放本地音频,所以做的这个音频播放器只有6个功能:播放.暂停.音量条.静音.进度条.显示当前播放进度的时间 ...
- Android的简易音乐播放器
这些日子都在学习Android的应用开发,于是参考了Android从入门到精通里的代码(明日科技),抄抄写写做了一个简易的音乐播放器,修修改改也看了好多网上的代码,在三星盖世3上测试可以 ...
- Android Studio实现音乐播放器2.0
项目目录 一.引言 二.项目概述 1.需求分析 2.设计分析 3.资源文件分析 三.开发环境 四.优化设计 1.上一首下一首 2.个性化按钮 五.运行效果 六.项目总结 七.源码获取 一.引言 我在一 ...
- android开发音乐播放器,Android开发简易音乐播放器
这里介绍一个简易的音乐播放器,供大家参考,具体内容如下 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死,但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主 ...
- Android Studio 实现音乐播放器
目录 一.引言 视频效果展示: 图片效果展示: .启动页效果 2.登录页效果 3.注册页效果 4.歌曲列表页效果 5.播放页效果 二.详细设计 1.登陆注册功能 2.音乐列表页面 2.音乐播放功能 一 ...
最新文章
- urllib2打开URL(含中文)的问题
- 数据结构哪本书比较好_东莞工厂电动伸缩门固定在哪一边比较好?
- 360加固逆向脱壳之过反调试
- CF1012B Chemical table 题解【二分图】【构造】
- boost::callable_traits移除const成员的测试程序
- 【CodeForces - 545 ABCDE套题训练题解】贪心, 构造,模拟,dp,最短路树(Dijkstra+变形)
- HTML期末作业-家乡网站
- Thinkphp宅音乐html5在线音乐播放器
- Jmeter系列之接口自动化实战
- 根据第xx天推算日期
- iOS_SN_详解沙河(转载)
- jeval 公式_几款公式解析工具的比较
- 构建WebIM聊天程序
- 免ROOT的计算机隐藏应用软件,AppHider隐藏应用
- Depends工具(检查exe文件依赖的好朋友)
- pdf如何转化成word文档呢?
- JavaCV本地视频流通过帧图片添加文本进行字幕合成
- [算法]声音数据处理
- 动态加载、插件化、热部署、热修复(更新)知识汇总
- Python 数字筛选
热门文章
- shell脚本三大文本处理工具
- matlab最小二乘法拟合论文,最小二乘法原理,拟合(matlab)。
- 你能发现什么蛛丝马迹吗
- 简单记录H264的一些压缩技术(1)
- 实训项目:PHP正则表达式的应用
- 花里胡哨der惹某第12周周记(习题+感悟)
- 英文会议和期刊中引言的研究现状和相关工作中的研究现状有何区别?
- 【全开源】装修行业小程序/支持工地/案例/团队/0元装修/装修计算器/预约
- 肌肽——在抗氧化上的功效
- 深入理解StrongReference,SoftReference, WeakReference和PhantomReference