android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx

上传人:b****3 文档编号:16741630 上传时间:2022-11-25 格式:DOCX 页数:9 大小:17.38KB
下载 相关 举报
android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx_第1页
第1页 / 共9页
android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx_第2页
第2页 / 共9页
android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx_第3页
第3页 / 共9页
android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx_第4页
第4页 / 共9页
android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx

《android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

android 22 简易音乐播放器实现附全部实现代码Word文件下载.docx

mPauseImageButton 

mStopImageButton 

mNextImageButton 

/*定义进度handler,显示百分比进度*/

HandlermPercentHandler=newHandler();

/*定义拖动条*/

privateSeekBar 

mSeekBar=null;

/*定义显示文本框*/

privateTextViewcurProgressText=null;

privateTextViewcurtimeAndTotaltime=null;

/*定于一个多媒体对象*/

publicMediaPlayer 

mMediaPlayer 

 

/*定于一个数据播放列表,用来存放从指定文件中搜索到的文件*/

privateList<

String>

mMusicList=newArrayList<

();

/*定义在播放列表中的当前选择项*/

privateintcurrentListItme=0;

/*定义要播放的文件夹路径*/

privatestaticfinalStringMUSIC_PATH=newString("

/mnt/sdcard/"

);

@Override

publicvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

/*更新播放列表*/

musicList();

/*初始化多媒体对象*/

mMediaPlayer 

=newMediaPlayer();

/*初始化图像按钮*/

mFrontImageButton=(ImageButton)findViewById(R.id.LastImageButton);

mStopImageButton= 

(ImageButton)findViewById(R.id.StopImageButton);

mStartImageButton=(ImageButton)findViewById(R.id.StartImageButton);

mPauseImageButton=(ImageButton)findViewById(R.id.PauseImageButton);

mNextImageButton=(ImageButton)findViewById(R.id.NextImageButton);

/*初始化拖动条和当前进度显示值*/

mSeekBar=(SeekBar)findViewById(R.id.SeekBar01);

curProgressText=(TextView)findViewById(R.id.currentProgress);

curtimeAndTotaltime=(TextView)findViewById(R.id.curtimeandtotaltime);

/*监听停止按钮*/

mStopImageButton.setOnClickListener(newImageButton.OnClickListener() 

publicvoidonClick(Viewv)

/*判断是否正在播放歌曲*/

if(mMediaPlayer.isPlaying())

/*如果在播放歌曲时,按下开始按钮,则重开开始播放*/

mMediaPlayer.reset();

}

});

/*监听开始按钮*/

mStartImageButton.setOnClickListener(newImageButton.OnClickListener() 

/*播放当前选择歌曲,通过listView列表中onListItemClick方法得到选择的时第几项*/

playMusic(MUSIC_PATH+mMusicList.get(currentListItme));

/*开始播放歌曲时,同步进行更新拖动条进度*/

startSeekBarUpdate();

/*监听暂停按钮*/

mPauseImageButton.setOnClickListener(newImageButton.OnClickListener() 

publicvoidonClick(Viewview)

/*如果有播放歌曲,暂停*/

mMediaPlayer.pause();

else 

/*如果没有播放歌曲,则开始播放*/

mMediaPlayer.start();

/*监听下一首按钮*/

mNextImageButton.setOnClickListener(newImageButton.OnClickListener() 

publicvoidonClick(Viewarg0)

nextMusic();

/*监听上一首按钮*/

mFrontImageButton.setOnClickListener(newImageButton.OnClickListener() 

FrontMusic();

/*监听拖动条*/

mSeekBar.setOnSeekBarChangeListener(newOnSeekBarChangeListener()

publicvoidonProgressChanged(SeekBarseekBar,intprogress,

booleanfromUser){

//TODOAuto-generatedmethodstub

/*如果拖动进度发生改变,则显示当前进度值*/

curProgressText.setText("

当前进度:

"

+progress);

publicvoidonStartTrackingTouch(SeekBarseekBar){

拖动中..."

publicvoidonStopTrackingTouch(SeekBarseekBar){

intdest=seekBar.getProgress();

intmMax=mMediaPlayer.getDuration();

intsMax=mSeekBar.getMax();

mMediaPlayer.seekTo(mMax*dest/sMax);

/*按键处理时间,当按下返回按键时的处理方法*/

publicbooleanonKeyDown(intkeyCode,KeyEventevent)

if(keyCode== 

KeyEvent.KEYCODE_BACK)

mMediaPlayer.stop();

mMediaPlayer.release();

this.finish();

returntrue;

returnsuper.onKeyDown(keyCode,event);

/*ListView选择项监听方法,即当前鼠标在列表中选择的第几项*/

protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid)

currentListItme=position;

playMusic(MUSIC_PATH+mMusicList.get(position));

/*更新播放列表*/

publicvoidmusicList()

/*从指定的路径中读取文件,并与播放列表关联*/

Filehome=newFile(MUSIC_PATH);

/*读取指定类型的文件,在本程序,指定播放类型为mp3*/

if(home.listFiles(newMusicFilter()).length>

0)

/*读取文件*/

for(Filefile:

home.listFiles(newMusicFilter()))

mMusicList.add(file.getName());

/*播放文件与播放列表关联*/

ArrayAdapter<

musicList=newArrayAdapter<

(Mp3Player.this,R.layout.musicitme,mMusicList);

setListAdapter(musicList);

/*播放指定路径中的音乐*/

privatevoidplayMusic(Stringpath)

try

/*重置多媒体*/

/*读取mp3文件*/

mMediaPlayer.setDataSource(path);

/*准备播放*/

mMediaPlayer.prepare();

/*开始播放*/

/*监听播放是否完成*/

mMediaPlayer.setOnCompletionListener(newOnCompletionListener() 

publicvoidonCompletion(MediaPlayerarg0)

/*播放完当前歌曲,自动播放下一首*/

}catch(IOExceptione){}

/*播放下一首*/

privatevoidnextMusic()

if(++currentListItme>

=mMusicList.size())

currentListItme=0;

else

/*播放上一首歌曲*/

privatevoidFrontMusic()

if(--currentListItme>

=0)

/*更新拖动条进度*/

publicvoidstartSeekBarUpdate()

mPercentHandler.post(start);

Runnablestart=newRunnable(){

publicvoidrun(){

mPercentHandler.post(updatesb);

//用一个handler更新SeekBar

};

Runnableupdatesb=newRunnable(){

intposition=mMediaPlayer.getCurrentPosition();

mSeekBar.setProgress(position*sMax/mMax);

curtimeAndTotaltime.setText("

当前播放时间:

+position/1000+"

秒"

+"

\n歌曲总时间:

+mMax/1000+"

mPercentHandler.postDelayed(updatesb,1000);

//每秒钟更新一次

/*播放文件选择类*/

classMusicFilterimplementsFilenameFilter

publicbooleanaccept(Filedir,Stringname)

/*指定扩展名类型*/

return(name.endsWith("

.mp3"

));

2.main.xls文件

<

?

xmlversion="

1.0"

encoding="

utf-8"

>

AbsoluteLayout 

xmlns:

android="

android:

orientation="

vertical"

layout_width="

fill_parent"

layout_height="

ListView 

id="

@id/android:

list"

layout_weight="

1"

drawSelectorOnTop="

false"

/>

ImageButton

@+id/LastImageButton"

wrap_content"

layout_x="

10px"

layout_y="

70px"

src="

@drawable/last"

@+id/StopImageButton"

@drawable/stop"

@+id/StartImageButton"

130px"

@drawable/start"

@+id/PauseImageButton"

190px"

@drawable/pause"

@+id/NextImageButton"

250px"

@drawable/next"

SeekBarandroid:

@+id/SeekBar01"

0dp"

200dp"

max="

100"

progress="

0"

secondaryProgress="

50"

visibility="

visible"

/SeekBar>

TextViewandroid:

android:

250dp"

@+id/currentProgress"

/TextView>

300dp"

@+id/curtimeandtotaltime"

/AbsoluteLayout>

3.musictime.xls

TextViewxmlns:

@+id/TextView01"

text="

@string/hello"

4.AndroidManifest.xls

manifestxmlns:

package="

com.jacky.multimedia"

versionCode="

versionName="

applicationandroid:

icon="

@drawable/icon"

label="

@string/app_name"

activityandroid:

name="

.Mp3Player"

intent-filter>

actionandroid:

android.intent.action.MAIN"

/>

categoryandroid:

android.intent.category.LAUNCHER"

/intent-filter>

/activity>

/application>

uses-sdkandroid:

minSdkVersion="

3"

/manifest>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1