播放android_开发之音乐播放器代码.doc

播放器代码  时间:2021-02-15  阅读:()

android_开发之音乐播放器代码package com.Aina.Android;import java. io.BufferedReader; import java. io.File;import java. io.FileInputStream; import java. io.FileNotFoundException;import java. io.FilenameFilter; import java. io. IOException;import java. io. InputStreamReader; import java.util.ArrayList;import java.util. Iterator;import java.util.List;import java.util.TreeMap;import android.app.Activity;import android.app.AlertDialog; import android.app.Notification;import android.app.NotificationManager; import android.app.PendingIntent;import android.app.AlertDialog.Builder; importandroid.content.ActivityNotFoundException;import android.content.DialogInterface; importandroid.content. Intent; import android.graphics.Bitmap; importandroid.graphics.BitmapFactory; import android.media.MediaPlayer; importandroid.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.KeyEvent;import android.view.View;

import android.widget.AdapterView; importandroid.widget.ArrayAdapter; import android.widget. ImageButton; importandroid.widget. ImageView; import android.widget.ListView; importandroid.widget.ScrollView; import android.widget.SeekBar; importandroid.widget.TextView; import android.widget.Toast;public class ActivityMain extends Activity{

/** Called when the activity is first created. */private ViewlrcKLOK viewlrcKLOK;private MediaPlayer mMediaPlayer = null;private SeekBar mSeekBar = null;private ListView mListView = null;private ImageButton mLastbtn = null;private ImageButton mStartbtn = null;private ImageButton mPausebtn = null;private ImageButton mStopbtn = null;private ImageButton mNextbtn = null;private TextView mTextView = null;private ScrollView scrollview =null;private ImageView header =null;private TextView lrc = null;private List<String> mMusiclist = null;private int mCurrent = 0;private int count = 0;private boolean isrun = false;

private boolean isauto = false;private static final String PATH = "/sdcard/mp3/";private static TreeMap<Integer, lrcObject> lrc_map;private static int lrc_timeend =0;private long KeyDownOldTime =0;private int KeyDownCount =0;private String songName ="";private String songAuthor ="";private NotificationManager mNotificationManager;private static int NOTIFICATIONS_ID = R. layout.main;

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState) ;setContentView(R. layout.main) ;mListView = (ListView) this.findViewById(R. id. lv_music) ;mSeekBar = (SeekBar) this.f indViewById(R. id.SeekBar01) ;mTextView = (TextView) this.findViewById(R. id.mTextView) ;viewlrcKLOK = (ViewlrcKLOK) this.findViewById(R. id. lrc_view) ;lrc = (TextView) this.findViewById(R. id. lrc) ;scrollview = (ScrollView) this.findViewById(R. id. scrollview) ;mLastbtn = (ImageButton) this.f indViewById(R. id. imgbtn_last) ;mStartbtn = (ImageButton) this.f indViewById(R. id. imgbtn_start) ;mPausebtn = (ImageButton) this.f indViewById(R. id. imgbtn_pause) ;mStopbtn = (ImageButton) this.f indViewById(R. id. imgbtn_stop) ;

mNextbtn = (ImageButton) this.findViewById(R. id. imgbtn_next) ;header = (ImageView) this.findViewById(R. id.header) ;mMusiclist = new ArrayList<String>() ;mMediaPlayer = new MediaPlayer() ;lrc_map = new TreeMap<Integer, lrcObject>() ;viewlrcKLOK.SetlrcContent("歌词",0,0, ". . . . . . ",0) ;lrc_timeend = 0;lrc. setVisibility(View.GONE) ;mNotif icationManager = (Notif icationManager)getSystemService(NOTIFICATION_SERVICE) ;mMediaPlayer. setOnPreparedListener(prepareListener) ;mMediaPlayer. setOnCompletionListener(CompletionListener) ;mMediaPlayer. setOnErrorListener(ErrorListener) ;

//开始按钮mStartbtn. setOnClickListener(new ImageButton.OnClickListener() {@Overridepublic void onClick(View v) {

//lrc. setVisibility(View.GONE) ; //控件隐藏

PlayMusic(PATH + mMusicl ist.get(mCurrent) ) ;

}

} ) ;

//下一首mNextbtn. setOnClickListener(new ImageButton.OnClickListener() {@Override

public void onClick(View v) {

// TODO Auto-generated method stub

NextMusic() ;

}

} ) ;

//上一首mLastbtn. setOnClickListener(new ImageButton.OnClickListener() {@Overridepublic void onClick(View v) {

// TODO Auto-generated method stub

LastMusic() ;

}

} ) ;

//暂停mPausebtn. setOnClickListener(new ImageButton.OnClickListener() {@Overridepublic void onClick(View v) {

// TODO Auto-generated method stubisrun = true;isauto = false;mPausebtn. setVisibility(View.GONE) ;//隐藏暂停按钮mStartbtn. setVisibility(View.VISIBLE) ;//显示启动按钮

//是否正在播放if (mMediaPlayer. isPlaying() ) {

viewlrcKLOK.Stop() ;mMediaPlayer.pause() ;

}

}

} ) ;

//停止mStopbtn. setOnClickListener(new ImageButton.OnClickListener() {

@Overridepublic void onClick(View v) {

// TODO Auto-generated method stub

StopMusic() ;

}

} ) ;mListView. setOnItemClickListener(new ListView.OnItemClickListener(){

@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {mCurrent = arg2;

StopMusic() ;

PlayMusic(PATH + mMusicl ist.get(mCurrent) ) ;

}

} ) ;mSeekBar

. setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar,int progress, boolean fromUser) {if (! isauto) {mMediaPlayer. seekTo(progress) ;

}

}

@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {isauto = false;

}

@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {isauto = true;

}

} ) ;this.MusicList() ;

}private void setPlayint(String tickerText, String title, Stringcontent,int drawable) {

Notification notification = new Notification(drawable, tickerText,System.currentTimeMillis() ) ;

PendingIntent contentIntent = PendingIntent.getActivity(this, 0,new Intent(this, ActivityMain.class) , 0) ;notification. setLatestEventInfo(this, title, content, contentIntent) ;mNotif icationManager.notify(NOTIFICATIONS_ID, notif ication) ;

}private MediaPlayer.OnPreparedListener prepareListener = new

MediaPlayer.OnPreparedListener() {public void onPrepared(MediaPlayer mp) {isrun = true;setPlayint(songAuthor, songName, songAuthor, R.drawable. icon) ;lrc_timeend = 0;viewlrcKLOK.SetlrcContent("准备好",0,0, "go,go,go. . ",0) ;viewlrcKLOK.Star() ;count = mMediaPlayer.getDuration() ;

Log. i ("TAG-count", count + "") ;mSeekBar. setMax(count) ;//设置最大值.mTextView. setText("当前播放歌曲:" + mMusiclist.get(mCurrent) ) ;mp. start() ; //开始播放

//Toast.makeText(ActivityMain. this, "开始播放

",Toast.LENGTH_SHORT) . show() ;myHandler. sendEmptyMessage(PROGRESS_CHANGED) ;

}

} ;

//视频播放完成

private MediaPlayer.OnCompletionListener CompletionListener=newMediaPlayer.OnCompletionListener() {

@Overridepublic void onCompletion(MediaPlayer arg0) {mMediaPlayer. stop() ;isauto = true;mSeekBar. setProgress(0) ;viewlrcKLOK.SetlrcContent("准备好",0,0, ". . . . . . ",0) ;viewlrcKLOK.Stop() ;

//Toast.makeText(ActivityMain. this, "播放完

成:",Toast.LENGTH_SHORT) . show() ;

NextMusic() ;

}

} ;

//播放时发现错误private MediaPlayer.OnErrorListener ErrorListener=new

MediaPlayer.OnErrorListener() {

@Overridepublic boolean onError(MediaPlayer mp, int what, int extra) {// TODO Auto-generated method stubmMediaPlayer. stop() ;

Toast.makeText(ActivityMain. this, "发现错误:-错误编

号:"+what,Toast.LENGTH_SHORT) . show() ;return true;

标准互联(450元)襄阳电信100G防御服务器 10M独立带宽

目前在标准互联这边有两台香港云服务器产品,这不看到有通知到期提醒才关注到。平时我还是很少去登录这个服务商的,这个服务商最近一年的促销信息比较少,这个和他们的运营策略有关系。已经从开始的倾向低价和个人用户云服务器市场,开始转型到中高端个人和企业用户的独立服务器。在这篇文章中,有看到标准互联有推出襄阳电信高防服务器100GB防御。有三款促销方案我们有需要可以看看。我们看看几款方案配置。型号内存硬盘IP...

HostYun(22元/月)全场88折优惠香港原生IP大带宽

在之前的一些文章中有提到HostYun商家的信息,这个商家源头是比较老的,这两年有更换新的品牌域名。在陆续的有新增机房,价格上还是走的低价格路线,所以平时的折扣力度已经是比较低的。在前面我也有介绍到提供九折优惠,这个品牌商家就是走的低价量大为主。中秋节即将到,商家也有推出稍微更低的88折。全场88折优惠码:moon88这里,整理部分HostYun商家的套餐。所有的价格目前都是原价,我们需要用折扣码...

火数云-618限时活动,国内云服务器大连3折,限量50台,九江7折 限量30台!

官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...

播放器代码为你推荐
qq讨论组手机上QQ怎么创建讨论组?iphone5解锁捡了个苹果5怎么解锁ghostxp3GhostXP3电脑公司特别版V499怎么安装flash导航条谁来帮我看看这样的flash导航条 下面的页面该怎么设计吴晓波频道买粉《充电时间》的节目跟《吴晓波频道》哪个好听?申请证书一、如何申请证书?奇虎论坛奇虎论坛最新推荐歌曲列表·电子商务网站模板电子商务网站模板有免费的吗?电子商务网站模板哪里有?电子商务网站模板怎么找?blogcnblogcn网页无法正常显示,直接跳转http://www.7t7t.com/7?服务器连接异常手机服务器连接异常
kdata 搬瓦工官网 godaddy支付宝 42u标准机柜尺寸 免费ddos防火墙 qq数据库下载 nerds 河南移动梦网 沈阳主机托管 永久免费空间 测速电信 空间服务器 脚本大全 fatcow 机柜尺寸 shuangshiyi ddos攻击教程 主机托管 长沙服务器托管 美国主机购买 更多