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.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.TreeMap;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.AlertDialog.Builder;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
import android.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;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.SeekBar;
import android.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;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView) this.findViewById(R.id.lv_music);
mSeekBar = (SeekBar) this.findViewById(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.findViewById(R.id.imgbtn_last);
mStartbtn = (ImageButton) this.findViewById(R.id.imgbtn_start);
mPausebtn = (ImageButton) this.findViewById(R.id.imgbtn_pause);
mStopbtn = (ImageButton) this.findViewById(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);
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mMediaPlayer.setOnPreparedListener(prepareListener);
mMediaPlayer.setOnCompletionListener(CompletionListener);
mMediaPlayer.setOnErrorListener(ErrorListener);
// 开始按钮
mStartbtn.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
//lrc.setVisibility(View.GONE); //控件隐藏
PlayMusic(PATH + mMusiclist.get(mCurrent));
}
});
// 下一首
mNextbtn.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
NextMusic();
}
});
// 上一首
mLastbtn.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
LastMusic();
}
});
// 暂停
mPausebtn.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
isrun = true;
isauto = false;
mPausebtn.setVisibility(View.GONE);// 隐藏暂停按钮
mStartbtn.setVisibility(View.VISIBLE);// 显示启动按钮
// 是否正在播放
if (mMediaPlayer.isPlaying()) {
viewlrcKLOK.Stop();
mMediaPlayer.pause();
}
}
});
// 停止
mStopbtn.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
StopMusic();
}
});
mListView.setOnItemClickListener(new ListView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
mCurrent = arg2;
StopMusic();
PlayMusic(PATH + mMusiclist.get(mCurrent));
}
});
mSeekBar
.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
if (!isauto) {
mMediaPlayer.seekTo(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
isauto = false;
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
isauto = true;
}
});
this.MusicList();
}
private void setPlayint(String tickerText, String title, String content,
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);
mNotificationManager.notify(NOTIFICATIONS_ID, notification);
}
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=new MediaPlayer.OnCompletionListener(){
@Override
public 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(){
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
mMediaPlayer.stop();
Toast.makeText(
源码项目工程 android卡拉ok歌词、android音乐播放器
4星 · 超过85%的资源 需积分: 10 53 浏览量
2011-04-11
11:29:20
上传
评论 2
收藏 2.65MB RAR 举报
浩_林
- 粉丝: 75
- 资源: 11
最新资源
- mmqrcode1714153659780.png
- Screenshot_2024-04-27-06-08-58-486_com.baidu.xin.aiqicha.jpg
- 基于Javaweb+Tomcat+MySQL的大学生公寓管理系统+sql文件.zip
- 实训作业基于javaweb的订单管理系统源码+数据库+实训报告.zip
- 多机调度问题贪心算法基于最小堆和贪心算法求解多机调度问题.zip
- 基于同态加密技术的匿名电子投票系统源码.zip
- Pyqt5项目框架-PyQt项目开发实践
- 基于C通过MQTT的智能农业大棚管理系统(本科毕业设计)
- python+CNN的网络入侵检测算法源码.zip
- js 实现记住密码功能 js.cookie.min.js
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页