基于Android系统的音乐播放器的设计与实现(6)

2019-05-24 14:16

arg3) {

currentListItme = position;

playMusic(MUSIC_PATH + mMusicList.get(position)); isRunning = true;

Intent intent=new Intent();

intent.setClass(Mp3PlayerActivity.this,Zhengzai.class); Bundle bundle = new Bundle(); bundle.putString(\,MUSIC_PATH +

mMusicList.get(position).toString() );

int index = position;

bundle.putString(\,mMusicList.get(position) ); intent.putExtra(\,bundle); startActivity(intent);

}});

? 5.2 正在播放界面

-26-

关键代码:正在播放

mStartImageButton.setOnClickListener(new ImageButton.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

//String path = MUSIC_PATH + mMusicList.get(currentListItme); if(!isRunning){

playMusic(path);

//startSeekBarUpdate(); }else{

if(!isPause){ pause(path); }else{

continuePlay(path); } } } });

下一首的监听和实现

mNextImageButton.setOnClickListener(new ImageButton.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub nextMusic();

} });

private void nextMusic() {

if (++Mp3PlayerActivity.currentListItme >= Mp3PlayerActivity.mMusicList.size()) {

Mp3PlayerActivity.currentListItme = 0; }

playMusic(MUSIC_PATH +

Mp3PlayerActivity.mMusicList.get(Mp3PlayerActivity.currentListItme)); isPause = false;

mStartImageButton.setImageDrawable(getResources().getDrawable(R.drawable.bt_widget_pause_nor)); }

-27-

上一首的监听和实现

mPreImageButton.setOnClickListener(new ImageButton.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub FrontMusic(); } });

private void FrontMusic() {

if (--Mp3PlayerActivity.currentListItme <= 0) { Mp3PlayerActivity.currentListItme = Mp3PlayerActivity.mMusicList.size()-1; }

playMusic(MUSIC_PATH +

Mp3PlayerActivity.mMusicList.get(Mp3PlayerActivity.currentListItme)); isPause = false;

mStartImageButton.setImageDrawable(getResources().getDrawable(R.drawable.bt_widget_pause_nor)); }

音乐的暂停

private void pause(String path) {

if (Mp3PlayerActivity.mMediaPlayer != null &&Mp3PlayerActivity. mMediaPlayer.isPlaying()) {

Mp3PlayerActivity.mMediaPlayer.pause(); isPause = true;

mStartImageButton.setImageDrawable(getResources().getDrawable(R.drawable.bt_widget_play_nor));} }

音乐继续播放

private void continuePlay(String path){ if(isPause){

Mp3PlayerActivity.mMediaPlayer.start(); isPause = false;

mStartImageButton.setImageDrawable(getResources().getDrawable(R.drawable.bt_widget_pause_nor));} }

-28-

? 5.3 退出播放器界面

退出播放器提示代码:

public void showExitDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(\提示\);

builder.setMessage(\确定要退出吗?\);

builder.setNegativeButton(\否\, new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) { } });

builder.setPositiveButton(\是\, new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) {

Mp3PlayerActivity.this.finish(); System.exit(0); } });

builder.setCancelable(false); builder.create().show();

}

-29-

? 5.4 AndroidManifest.xml文件介绍

Android系统的任何一个程序启动都需要AndroidManifest.xml来启动程序,任何一个新建的工程目录都会自动生成一个AndroidManifest.xml文件,此配置文件是整个 程序能够正常运行的核心,它包含了Android SDK 的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的去AndroidManifest.xml中寻找标识来作出相应的操作。

在AndroidManifest.xml中有一个根结点,它是我们需要定义的ADT版本,当程序的任何一个组件要用到时,都必须在AndroidManifest.xml文件中声明。四大组件要使用前都需要声明。

其中声明provider是还需要声明其授权authorities。每个组件里面好有很多的属性,会根据程序的具体需要定义不同的属性。过滤器inent-filter 有两种启动方式来启动界面。

显示方式:显示方式是在代码中直接启动组件,启动时会声明Inent,在它的构造方法Intent中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件。

隐式方式:隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.xml文件中声明的。两种启动方式都可以通过程序setAction和startActivity或配置文件两种方式来实现组件的跳转。

? 第6章 Android模拟器读取SD卡中音频文件的实现

? 6.1 怎样在模拟器中添加音频文件并读取

在Android模拟器中,初始时没有sdcard的,为了存放音乐文件,需要自己创建sdcard,所以下面的介绍就是怎样在模拟器中创建音频文件及读取。

? 6.2 SD卡的创建

通过Android的Tools来创建sd卡并导入进来:

1、 打开dos,windows+R键打开。转换到你的sdk安装包的tools目录下,如我的目录如下:E:\\android-sdk-windows\\tools。

2、 创建sd卡。在命令行中输入:mksdcard 1024M,E:\\androidsdcard\\sdcard.img。

-30-


基于Android系统的音乐播放器的设计与实现(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Access复习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: