Android视频音频播放Word文件下载.docx

上传人:b****3 文档编号:6799676 上传时间:2023-05-07 格式:DOCX 页数:20 大小:35.35KB
下载 相关 举报
Android视频音频播放Word文件下载.docx_第1页
第1页 / 共20页
Android视频音频播放Word文件下载.docx_第2页
第2页 / 共20页
Android视频音频播放Word文件下载.docx_第3页
第3页 / 共20页
Android视频音频播放Word文件下载.docx_第4页
第4页 / 共20页
Android视频音频播放Word文件下载.docx_第5页
第5页 / 共20页
Android视频音频播放Word文件下载.docx_第6页
第6页 / 共20页
Android视频音频播放Word文件下载.docx_第7页
第7页 / 共20页
Android视频音频播放Word文件下载.docx_第8页
第8页 / 共20页
Android视频音频播放Word文件下载.docx_第9页
第9页 / 共20页
Android视频音频播放Word文件下载.docx_第10页
第10页 / 共20页
Android视频音频播放Word文件下载.docx_第11页
第11页 / 共20页
Android视频音频播放Word文件下载.docx_第12页
第12页 / 共20页
Android视频音频播放Word文件下载.docx_第13页
第13页 / 共20页
Android视频音频播放Word文件下载.docx_第14页
第14页 / 共20页
Android视频音频播放Word文件下载.docx_第15页
第15页 / 共20页
Android视频音频播放Word文件下载.docx_第16页
第16页 / 共20页
Android视频音频播放Word文件下载.docx_第17页
第17页 / 共20页
Android视频音频播放Word文件下载.docx_第18页
第18页 / 共20页
Android视频音频播放Word文件下载.docx_第19页
第19页 / 共20页
Android视频音频播放Word文件下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Android视频音频播放Word文件下载.docx

《Android视频音频播放Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android视频音频播放Word文件下载.docx(20页珍藏版)》请在冰点文库上搜索。

Android视频音频播放Word文件下载.docx

3)onDestory中是否音乐播放器的内存。

应用生命周期的功能,实现面试宝典中的退出系统功能。

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

allActiveActivities.add(this);

}

protectedvoidonDestroy(){

//将当前要退出的Activity从所有活动的Activity集合中删除

try{

allActiveActivities.remove(this);

}catch(Exceptione){

e.printStackTrace();

}

super.onDestroy();

当点击退出时,需要将整个集合中所有的Activity关闭。

exit.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

//循环迭代所有活动的Activity

Iterator<

Activity>

iter=allActiveActivities

.iterator();

while(iter.hasNext()){

iter.next().finish();

}

}

});

3.2、SeekBar拖动条(掌握)

使用SeekBar组件,可以实现一个拖动条,用来完成调整亮度,改变音乐播放位置等功能。

<

LinearLayoutxmlns:

android="

xmlns:

tools="

android:

layout_width="

match_parent"

layout_height="

wrap_content"

orientation="

vertical"

>

<

SeekBar

id="

@+id/seekbar"

max="

100"

progress="

50"

/>

TextView

@+id/result"

text="

当前选择的值为:

50"

/LinearLayout>

也可以加入监听功能。

publicclassMainActivityextendsActivity{

privateSeekBarseekbar;

privateTextViewresult;

Globals.init(this);

//设置所使用的布局界面

setContentView(R.layout.activity_main);

seekbar=(SeekBar)findViewById(R.id.seekbar);

result=(TextView)findViewById(R.id.result);

seekbar.setOnSeekBarChangeListener(newOnSeekBarChangeListener(){

@Override

publicvoidonStopTrackingTouch(SeekBarseekBar){

result.setText("

停止拖动"

);

}

publicvoidonStartTrackingTouch(SeekBarseekBar){

开始拖动"

publicvoidonProgressChanged(SeekBarseekBar,intprogress,

booleanfromUser){

正在拖动,当前的值为:

"

+progress);

});

}

3.3、音乐播放器(掌握)

在进行音频和视频播放时,都需要使用MediaPlayer类来加载音频或视频文件。

同时要注意,如果想使用模拟器播放音频时,不能使用snapshot。

同时还要注意,如果使用win7+模拟器播放音频时,必须使用管理员身份启动Eclipse,否则SD卡无法识别。

准备工作都完成后,可以开始初始化音频播放的类,MediaPlayer这个类也有自己的生命周期。

可以通过其API文档来查看生命周期的执行流程:

1)建立对象后,MediaPlayer对象会默认处于空闲状态(idle)

2)需要为其设置播放的数据来源(音频或视频文件)

3)调用prepare()方法,将里面的一些信息读入并准备好。

4)准备好后,才可以调用start()进行播放

5)如果设置了循环播放(looping=true)且歌曲已经播放完成,则会自动重新播放。

6)在播放状态下,调用pause()方法会进入暂停状态,再次调用start()即可继续播放。

7)如果没有设置循环播放(Looping=false),且音乐播放完成,会自动进入播放完成状态,这时如果再次调用start(),则会重新开始当前歌曲的播放。

8)停止状态不会自动进入,必须调用stop方法才会进入这个状态。

9)如果想完整的释放所有内存,需要调用release()方法来完成。

这里先完成一个基本的歌曲播放功能,没有界面。

privateMediaPlayerplayer;

privateStringfilePath="

/mnt/sdcard/a.mp3"

;

//初始化

player=newMediaPlayer();

//设置要播放的文件

player.setDataSource(filePath);

//进行准备操作

player.prepare();

//开始播放

player.start();

Toast.makeText(this,"

当前加载的音乐有问题,请确定文件格式是否正确!

"

Toast.LENGTH_LONG)

.show();

//退出时释放音乐

if(player!

=null){

if(player.isPlaying()){

player.stop();

player.release();

设计界面,加入播放,暂停,上一首,下一首,以及所有歌曲列表等界面组件。

background="

#cccccc"

@+id/music_name"

0dp"

layout_weight="

1"

gravity="

center"

@string/hello_world"

textColor="

#000000"

textSize="

16sp"

LinearLayout

2"

horizontal"

@drawable/audio_identify_start_default"

ListView

@+id/list"

3"

/ListView>

0.5"

@+id/time_text"

00:

00/00:

00"

12sp"

Button

@+id/pre_btn"

@drawable/ic_player_prev_default"

@+id/play_btn"

1.5"

@drawable/ic_player_play_default"

@+id/next_btn"

@drawable/ic_player_next_default"

完成各种音乐播放的操作功能。

privateStringsongName="

FlyMeToTheMoon"

//音乐名称

privateTextViewmusicName;

//播放时间长度的文本

privateTextViewtimeText;

//拖动条

//播放/暂停按钮

privateButtonplayBtn;

//上一首

privateButtonpreBtn;

//下一首

privateButtonnextBtn;

//总播放时长的文本

privateStringdurationTimeStr;

//建立消息通道,以便在子线程中修改界面

privateHandlerhandler;

handler=newHandler(){

publicvoidhandleMessage(Messagemsg){

seekbar.setProgress(player.getCurrentPosition());

timeText.setText(getTextByMs(player.getCurrentPosition())+"

/"

+durationTimeStr);

};

//取得所有组件

musicName=(TextView)findViewById(R.id.music_name);

timeText=(TextView)findViewById(R.id.time_text);

playBtn=(Button)findViewById(R.id.play_btn);

preBtn=(Button)findViewById(R.id.pre_btn);

nextBtn=(Button)findViewById(R.id.next_btn);

//player.start();

//初始化拖动条的总长度

seekbar.setMax(player.getDuration());

durationTimeStr=getTextByMs(player.getDuration());

//修改歌曲标题

musicName.setText(songName);

//设置显示的播放时间

timeText.setText("

00/"

+durationTimeStr);

//加入一个多线程,通过子线程控制拖动条以及显示时间的改变

Threadt=newThread(){

publicvoidrun(){

while(true){

try{

Thread.sleep(1000);

//取得当前的播放时间位置,设置到拖动条里

if(player.isPlaying()){

//传递一个空消息,不需要有具体的消息内容,因为消息通道中只有一个固定的操作,而且不需要参数.

handler.sendEmptyMessage(0);

}catch(Exceptione){

e.printStackTrace();

}

}

t.start();

//为播放按钮加监听

playBtn.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

if(player.isPlaying()){

player.pause();

playBtn.setBackgroundResource(R.drawable.ic_player_play_default);

}else{

player.start();

playBtn.setBackgroundResource(R.drawable.ic_player_pause_default);

//开始播放

playBtn.performClick();

//加入拖动条的监听

//

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2