13使用MediaPlayer播放音頻_第1頁
13使用MediaPlayer播放音頻_第2頁
13使用MediaPlayer播放音頻_第3頁
13使用MediaPlayer播放音頻_第4頁
13使用MediaPlayer播放音頻_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于Android的軟件開發(fā)第13堂Android多媒體概述主要內(nèi)容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創(chuàng)建新項(xiàng)目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應(yīng)用的對象12使用MediaPlayer

播放音頻應(yīng)用開發(fā)步驟:定義fragment的布局創(chuàng)建fragment類修改activity及其布局,實(shí)現(xiàn)對fragment的托管創(chuàng)建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的布局手動(dòng)設(shè)置應(yīng)用主題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>手動(dòng)設(shè)置應(yīng)用主題修改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創(chuàng)建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播放音頻創(chuàng)建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();}}創(chuàng)建MediaPlayer對象,指定音頻資源開始播放銷毀MediaPlayer對象將mPlayer設(shè)為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按鈕創(chuàng)建多個(gè)MediaPlayer對象添加MediaPlayer.OnCompletionListener監(jiān)聽器,在音頻播放完后銷毀MediaPlayer對象修改HelloMoonFragment類添加AudioPlayer變量為mPlayButton和mStopButton添加監(jiān)聽器重載onDestroy()方法public

class

HelloMoonFragment

extendsFragment{

privateAudioPlayer

mPlayer=newAudioPlayer();

…@Override

publicViewonCreateView(LayoutInflater

inflater,ViewGroupparent,Bu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論