一个简单的Android音乐播放器
2015-05-31 19:59
561 查看
在这里主要是用两个简单的按钮实现音乐的播放和停止功能,工程的目录结构为:
同时添加一个文件夹,里面放后缀为mp3的文件就可以了。
在main配置文件主要是添加两个Button:
添加一个activity类和一个service类AndroidManifest.xml配置文件为:
创建一个MusicServiceActivity类启动service类:
service类代码为:
效果图为:
同时添加一个文件夹,里面放后缀为mp3的文件就可以了。
在main配置文件主要是添加两个Button:
添加一个activity类和一个service类AndroidManifest.xml配置文件为:
创建一个MusicServiceActivity类启动service类:
package com.basi; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MusicServiceActivity extends Activity { private static String TAG = "MusicService"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Toast.makeText(this, "MusicServiceActivity", Toast.LENGTH_SHORT).show(); Log.e(TAG, "MusicServiceActivity"); initlizeViews(); } private void initlizeViews() { Button btnStart = (Button) findViewById(R.id.startMusic); Button btnStop = (Button) findViewById(R.id.stopMusic); OnClickListener ocl = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(MusicServiceActivity.this, MusicService.class); switch (v.getId()) { case R.id.startMusic: // 开始服务 startService(intent); break; case R.id.stopMusic: // 停止服务 stopService(intent); break; } } }; btnStart.setOnClickListener(ocl); btnStop.setOnClickListener(ocl); } }
service类代码为:
package com.basi; import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; import android.util.Log; import android.widget.Toast; public class MusicService extends Service { private static String TAG = "MusicService"; private MediaPlayer mPlayer; @Override public void onCreate() { Toast.makeText(this, "MusicSevice onCreate()", Toast.LENGTH_SHORT) .show(); Log.e(TAG, "MusicSerice onCreate()"); mPlayer = MediaPlayer.create(getApplicationContext(), R.raw.a); // 设置可以重复播放 mPlayer.setLooping(true); super.onCreate(); } @Override public void onStart(Intent intent, int startId) { Toast.makeText(this, "MusicSevice onStart()", Toast.LENGTH_SHORT) .show(); Log.e(TAG, "MusicSerice onStart()"); mPlayer.start(); super.onStart(intent, startId); } @Override public void onDestroy() { Toast.makeText(this, "MusicSevice onDestroy()", Toast.LENGTH_SHORT) .show(); Log.e(TAG, "MusicSerice onDestroy()"); mPlayer.stop(); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { return null; } }
效果图为:
相关文章推荐
- Android应用层View绘制流程与源码分析
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- 如何更改android Studio logcat字体大小?
- Android 纹理定距离移动(openGl可以看这货代码)
- Android的GridView的用法-android学习之旅(二十七)
- Android的GridView的用法-android学习之旅(二十七)
- Android的GridView的用法-android学习之旅(二十七)
- 利用开源项目jadx反编译Android应用
- Android开发--IntentService的用法,你错过了什么
- Android开发--Facebook酷炫开源库Shimmer使用
- android Path里面的各种PathEffect
- android 三个物理按键之按键 返回 函数
- android:preference保存数据(适合于保存上一次用户名与密码)
- Android canvas & shader & path
- android实现层级式导航
- android 之 Camera使用示例
- Android内核开发:系统分区与镜像文件的烧写
- Android内核开发:系统分区与镜像文件的烧写
- android控制PC
- AndroidManifest.xml的权限总结