版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的软件开发第13堂Android多媒体概述主要内容Android多媒体概述使用MediaPlayer
播放音频2Android多媒体概述Android支持的媒体格式3TypeFormatFileTypeAudioAACLC/LTP3GPPandMPEG-4(.mp4,.m4a).MP3MP3(.mp3)MIDIType0and1(.mid,.xmf,.mxmf)PCM/WAVEWAVE(.wav)Android多媒体概述Android支持的媒体格式4TypeFormatFileType(s)SupportedImageJPEGJPEG(.jpg)GIFGIF(.gif)PNGPNG(.png)BMPBMP(.bmp)Android多媒体概述Android支持的媒体格式5TypeFormatFileType(s)SupportedVideoH.2633GPP(.3gp)andMPEG-4(.mp4)H.264AVC3GPP(.3gp)andMPEG-4(.mp4)MPEG-4SP3GPP(.3gp)Android多媒体概述Android多媒体之音频处理播放声音:SoundPool类播放声音:MediaPlayer类录制声音:MediaRecorder采集6Android多媒体概述Android多媒体之播放视频VideoView播放视频简单、方便MediaPlayer类播放视频更加灵活Camera:一是拍照,二是摄像7使用MediaPlayer
播放音频8创建新项目13.1添加资源添加以下资源res/drawable-mdpi/armstrong_on_moon.jpgres/raw/one_small_step.wavres/raw/apollo_17_stroll.mpg添加字符串资源strings.xml<?xmlversion="1.0"encoding="utf-8"?><resources><stringname="app_name">HelloMoon</string><stringname="hello_world">Helloworld!</string><stringname="action_settings">Settings</string>
<stringname="hellomoon_play">Play</string><stringname="hellomoon_stop">Stop</string><stringname="hellomoon_description">NeilArmstrongsteppingontothemoon</string></resources>图解:HelloMoon应用的对象12使用MediaPlayer
播放音频应用开发步骤:定义fragment的布局创建fragment类修改activity及其布局,实现对fragment的托管创建AudioPlayer1313.2定义HelloMoonFragment布局文件fragment_hello_moon.xml<?xmlversion="1.0"encoding="utf-8"?><TableLayout
xmlns:android="http:///apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"><ImageView
android:src="@drawable/armstrong_on_moon"
android:contentDescription="@string/hellomoon_description"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerInside"
android:layout_weight="1"/><TableRow
android:layout_weight="0"
android:gravity="center|bottom"><Button
android:id="@+id/hellomoon_playButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hellomoon_play"/><Button
android:id="@+id/hellomoon_stopButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hellomoon_stop"/></TableRow></TableLayout>fragment的布局手动设置应用主题AndroidManifest.xml<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http:///apk/res/android"package=".zjicm.zhengjun.hellomoon13"
android:versionCode="1"
android:versionName="1.0">…<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"><activity…</activity></application></manifest>手动设置应用主题修改res/values/styles.xml<stylename="AppBaseTheme"parent="android:Theme">修改res/values-v11/styles.xml<stylename="AppBaseTheme"parent="android:Theme.Holo">删除res/values-v13/目录13.3创建HelloMoonFragmentpublic
class
HelloMoonFragment
extendsFragment{
privateButtonmPlayButton;
privateButtonmStopButton;
@Override
publicViewonCreateView(LayoutInflater
inflater,ViewGroupparent,BundlesavedInstanceState){Viewv=inflater.inflate(R.layout.fragment_hello_moon,parent,false);
mPlayButton=(Button)v.findViewById(R.id.hellomoon_playButton);
mStopButton=(Button)v.findViewById(R.id.hellomoon_stopButton);
returnv;}}13.4使用布局fragment修改布局文件activity_hello_moon.xml<?xmlversion="1.0"encoding="utf-8"?><fragmentxmlns:android="http:///apk/res/android“
android:id="@+id/helloMoonFragment“
android:layout_width="match_parent"
android:layout_height="match_parent“
android:name=".zjicm.zhengjun.hellomoon.HelloMoonFragment"></fragment>修改HelloMoonActivity类将父类改为FragmentActivity删除onCreateOptionsMenu(…)和onOptionsItemSelected(…)方法Fragment的生命周期13.5播放音频创建AudioPlayer类public
class
AudioPlayer{
private
MediaPlayer
mPlayer;
public
voidstop(){
if(mPlayer!=null){
mPlayer.release();
mPlayer=null;}}
public
void
play(Contextc){
mPlayer=MediaPlayer.create(c,R.raw.one_small_step);
mPlayer.start();}}创建MediaPlayer对象,指定音频资源开始播放销毁MediaPlayer对象将mPlayer设为null修改AudioPlayer类public
void
play(Contextc){stop();
mPlayer=MediaPlayer.create(c,R.raw.one_small_step);
mPlayer.setOnCompletionListener(new
MediaPlayer.OnCompletionListener(){
public
void
onCompletion(MediaPlayermp){stop();}});
mPlayer.start();}避免多次单击Play按钮创建多个MediaPlayer对象添加MediaPlayer.OnCompletionListener监听器,在音频播放完后销毁MediaPlayer对象修改HelloMoonFragment类添加AudioPlayer变量为mPlayButton和mStopButton添加监听器重载onDestroy()方法public
class
HelloMoonFragment
extendsFragment{
privateAudioPlayer
mPlayer=newAudioPlayer();
…@Override
publicViewonCreateView(LayoutInflater
inflater,ViewGroupparent,Bu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年典当行门楼装修及维护合同版B版
- 2024年厂商价格保密协议范本版B版
- 2024年土地使用权转让合同(住宅用地)
- 2024年ic产品销售协议条款范本版B版
- 2024场场地租赁保证金合同
- 2024商业空间装修协议条款示例一
- 2024年度事业单位聘用协议模板版B版
- 2024Q3中国移动互联网流量季度报告
- 2024年专业建筑装修协议模板
- 2024年度企业网络安全评估与整改合同
- 员工劳保穿戴规范(石油)
- 钢结构工程质量控制要点及监理措施
- 支票打印模板
- 正面吊制动系统的原理与维护_图文
- 财政部金融企业不良资产批量转让管理办法(财金[2012]6号)
- 企业事故管理规定(标准)
- 内容管理系统(CMS)解决方案
- 膝部筋伤PPT课件
- 地籍管理信息系统.PPT
- 《膀胱功能训练》PPT课件.ppt
- TM25--抗曲折测试-对试样表面起皱和破裂的抗性测试
评论
0/150
提交评论