安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx

上传人:b****2 文档编号:14823785 上传时间:2022-10-25 格式:DOCX 页数:11 大小:27.44KB
下载 相关 举报
安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx_第1页
第1页 / 共11页
安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx_第2页
第2页 / 共11页
安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx_第3页
第3页 / 共11页
安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx_第4页
第4页 / 共11页
安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx

《安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx》由会员分享,可在线阅读,更多相关《安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

安卓Android广播线程服务与多媒体开发实验报告材料Word文档格式.docx

指导单位

计算机学院、诚迈科技〔〕公司

指导教师

学生

班级学号

学院(系)

计算机学院

专业

软件工程(计算机软件与服务外包)

成绩

批阅人

王彦

日期

2013-12-09

实验报告

实验类型

实验

实验学时

4

2013-12-9

一、实验目的和要求

验证Broadcast的发送与接收

验证多线程间的数据传递

验证Service的使用方法

验证多媒体开发中音频、视频、或图像的采集与播放

编写一个Android小程序要求:

1、使用广播传递数据或信息

2、使用多线程

3、适当应用Service

4、实现至少一种多媒体功能

二、实验环境(实验设备)

PC(Window7)、Eclipse

三、实验原理与容

在这个程序中涉与到了Receiver和BroadcastReceiver的结合使用,首先在AndroidManifest.xml中注册Receiver,实现能够在后台播放音乐的功能。

通过mandReceiver类实现承受前台Activity发送的播放命令的Intent。

在mandReceiver类中,有后台Service注册的承受前台控制命令Intent的Receiver,广播播放状态变化的Intent

代码

publicclassMusicServiceextendsServiceimplementsRunnable{

privateMediaPlayerplayer;

privateList<

Music>

lists;

publicstaticint_id=1;

//当前播放位置

publicstaticBooleanisRun=true;

publicLrcProcessmLrcProcess;

publicLrcViewmLrcView;

publicstaticintplaying_id=0;

publicstaticBooleanplaying=false;

Override

publicIBinderonBind(Intentarg0){

//TODOAuto-generatedmethodstub

returnnull;

}

publicvoidonCreate(){

lists=MusicList.getMusicData(getApplicationContext());

SeekBarBroadcastReceiverreceiver=newSeekBarBroadcastReceiver();

IntentFilterfilter=newIntentFilter("

..karl.seekBar"

);

this.registerReceiver(receiver,filter);

newThread(this).start();

super.onCreate();

publicvoidonStart(Intentintent,intstartId){

Stringplay=intent.getStringExtra("

play"

_id=intent.getIntExtra("

id"

1);

if(play.equals("

)){

if(null!

=player){

player.release();

player=null;

playMusic(_id);

}elseif(play.equals("

pause"

player.pause();

playing"

if(player!

=null){

player.start();

}else{

replaying"

first"

intid=intent.getIntExtra("

0);

playMusic(id);

rewind"

forward"

last"

privatevoidplayMusic(intid){

/////////////////////////初始化歌词配置/////////////////////////

mLrcProcess=newLrcProcess();

//读取歌词文件

mLrcProcess.readLRC(lists.get(_id).getUrl());

//传回处理后的歌词文件

lrcList=mLrcProcess.getLrcContent();

MusicActivity.lrc_view.setSentenceEntities(lrcList);

//切换带动画显示歌词

MusicActivity.lrc_view.setAnimation(AnimationUtils.loadAnimation(

MusicService.this,R.anim.alpha_z));

//启动线程

mHandler.post(mRunnable);

if(id>

=lists.size()-1){

_id=lists.size()-1;

}elseif(id<

=0){

_id=0;

Musicm=lists.get(_id);

Stringurl=m.getUrl();

UrimyUri=Uri.parse(url);

player=newMediaPlayer();

player.reset();

player.setAudioStreamType(AudioManager.STREAM_MUSIC);

try{

player.setDataSource(getApplicationContext(),myUri);

player.prepare();

}catch(IllegalArgumentExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(SecurityExceptione){

}catch(IllegalStateExceptione){

}catch(IOExceptione){

player.setOnpletionListener(newOnpletionListener(){

publicvoidonpletion(MediaPlayermp){

//下一首

if(MusicActivity.isLoop==true){

Intentintent=newIntent("

..karl.pletion"

sendBroadcast(intent);

_id=_id+1;

}else{//单曲播放

});

player.setOnErrorListener(newOnErrorListener(){

publicbooleanonError(MediaPlayermp,intwhat,intextra){

//TOD

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

当前位置:首页 > 考试认证 > 司法考试

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

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