一个MP3播放器。。。。
来源:互联网 发布:linux php安装方式 编辑:程序博客网 时间:2024/05/01 21:49
service这个东西。。。其实当时讲的时候还不是特别理解,比较理解的主要就是那几个函数的调用以及调用的顺序。
首先布局,我还是喜欢用绝对布局,然后也很简单的弄了个背景,然后添加了播放、暂停、停止、退出四个按钮,布局非常之简单。。。。
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/back" android:gravity="center" > <Button android:id="@+id/play" android:layout_x="190dip" android:layout_y="40dip" android:layout_width="130dip" android:layout_height="80dip" android:background="@drawable/c" /> <Button android:id="@+id/pause" android:layout_x="190dip" android:layout_y="240dip" android:layout_width="130dip" android:layout_height="80dip" android:background="@drawable/c" /> <Button android:id="@+id/stop" android:layout_x="190dip" android:layout_y="320dip" android:layout_width="130dip" android:layout_height="80dip" android:background="@drawable/c" /> <Button android:id="@+id/exit" android:layout_x="190dip" android:layout_y="400dip" android:layout_width="130dip" android:layout_height="80dip" android:background="@drawable/c" /></AbsoluteLayout>
然后是后台播放的Service:
package com.zyn.localityservice;import java.io.FileDescriptor;import java.io.PrintWriter;import android.app.Service;import android.content.Intent;import android.content.res.Configuration;import android.media.MediaPlayer;import android.os.Bundle;import android.os.IBinder;import android.util.Log;import com.zyn.R;public class MusicPlayerService extends Service {private MediaPlayer mediaPlayer = null;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onCreate() {if (mediaPlayer == null) {mediaPlayer = new MediaPlayer();mediaPlayer = MediaPlayer.create(this, R.raw.tmp);mediaPlayer.setLooping(false);}}@Overrideprotected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {super.dump(fd, writer, args);}@Overrideprotected void finalize() throws Throwable {// TODO Auto-generated method stubsuper.finalize();}@Overridepublic void onConfigurationChanged(Configuration newConfig) {// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);}@Overridepublic void onLowMemory() {super.onLowMemory();}@Overridepublic void onRebind(Intent intent) {super.onRebind(intent);}@Overridepublic boolean onUnbind(Intent intent) {return super.onUnbind(intent);}@Overridepublic void onDestroy() {if(mediaPlayer!=null){mediaPlayer.stop();mediaPlayer.release();}}@Overridepublic void onStart(Intent intent, int startId) {if (intent != null) {Bundle bundle = intent.getExtras();if (bundle != null) {int op = bundle.getInt("op");switch (op) {case 1:play();break;case 2: puase();break;case 3: stop();break;case 4: stop();stopService(intent);break;}}}}private void play() {if (mediaPlayer!=null&&!mediaPlayer.isPlaying()) {mediaPlayer.start();}}private void puase() {if (mediaPlayer != null && mediaPlayer.isPlaying()) {mediaPlayer.pause();}}private void stop() {if (mediaPlayer != null) {mediaPlayer.stop();try {mediaPlayer.prepare();} catch (Exception e) {// TODO: handle exception}}}}
service添加之后要在AndroidManifest.xml里面予以声明:
<service android:name=".localityservice.MusicPlayerService"><intent-filter><action android:name="com.yang.music" /></intent-filter></service>
其他就没有什么了。。。。还是挺丑- -
- 一个MP3播放器
- 一个MP3播放器。。。。
- 一个简单的MP3播放器
- 如何实现一个FLEX MP3播放器
- Java写的一个mp3播放器
- 一个Flex做的Mp3播放器
- mp3播放器
- MP3播放器探秘
- MP3播放器探秘
- 简单MP3播放器
- java mp3播放器
- 网页mp3 播放器
- MP3播放器模块
- MP3播放器完结
- mp3播放器
- mp3 播放器
- MP3播放器
- MP3音乐播放器
- Oracle官方OCI(Oracle Call Interface)文档翻译
- PHP获取真实IP地址方法及原理
- C 检测内存泄露
- 一名计算机教师的年度教学总结
- sip RFC3261 中文版
- 一个MP3播放器。。。。
- python序列化操作
- Hibernate的关系映射多对多
- 连载:编写高效代码(11) 尽量减少分支
- WinCE和Win2000/XP设备驱动开发的区别
- 《windows核心编程系列》二十一谈谈基址重定位和模块绑定
- 分频器的几种写法.[Verilog]
- 程序员,多些时间思考,少写些代码
- 工业相机的参数说明