真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中如何播放音頻-創(chuàng)新互聯(lián)

這篇“Android中如何播放音頻”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android中如何播放音頻”文章吧。

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出下冶免費(fèi)做網(wǎng)站回饋大家。

在 Android 中播放音頻文件一般都是使用 MediaPlayer 類來實(shí)現(xiàn)的,它對多種格式的音 頻文件提供了非常全面的控制方法,從而使得播放音樂的工作變得十分簡單。下表列出了 MediaPlayer 類中一些較為常用的控制方法。

方法名

功能描述

setDataSource()

設(shè)置要播放的音頻文件的位置。

prepare()

在開始播放之前調(diào)用這個(gè)方法完成準(zhǔn)備工作。

start()

開始或繼續(xù)播放音頻。

pause()

暫停播放音頻。

reset()

將 MediaPlayer 對象重置到剛剛創(chuàng)建的狀態(tài)。

seekTo()

從指定的位置開始播放音頻。

stop()

停止播放音頻。調(diào)用這個(gè)方法后的 MediaPlayer 對象無法再播放音頻。

release()

釋放掉與 MediaPlayer 對象相關(guān)的資源。

isPlaying()

判斷當(dāng)前 MediaPlayer 是否正在播放音頻。

getDuration()

獲取載入的音頻文件的時(shí)長。

簡單了解了上述方法后,我們再來梳理一下 MediaPlayer 的工作流程。首先需要創(chuàng)建出一個(gè) MediaPlayer 對象,然后調(diào)用 setDataSource()方法來設(shè)置音頻文件的路徑,再調(diào)用 prepare()方法使 MediaPlayer 進(jìn)入到準(zhǔn)備狀態(tài),接下來調(diào)用 start()方法就可以開始播放音頻,調(diào)用 pause()方法就會暫停播放,調(diào)用 reset()方法就會停止播放。 下面就讓我們通過一個(gè)具體的例子來學(xué)習(xí)一下吧,新建一個(gè) PlayAudioTest 項(xiàng)目,然后修改 activity_main.xml 中的代碼,如下所示:





布局文件中橫向放置了三個(gè)按鈕,分別用于對音頻文件進(jìn)行播放、暫停和停止操作。然 后修改 MainActivity 中的代碼,如下所示:

public class MainActivity extends Activity implements OnClickListener {
private Button play;
private Button pause;
private Button stop;
private MediaPlayer mediaPlayer = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.play);
pause = (Button) findViewById(R.id.pause);
stop = (Button) findViewById(R.id.stop); play.setOnClickListener(this); pause.setOnClickListener(this); stop.setOnClickListener(this);
initMediaPlayer(); // 初始化MediaPlayer
}
private void initMediaPlayer() {
try {
File file = new File(Environment.getExternalStorageDirectory(), "music.mp3");
mediaPlayer.setDataSource(file.getPath()); // 指定音頻文件的路徑
mediaPlayer.prepare(); // 讓MediaPlayer進(jìn)入到準(zhǔn)備狀態(tài)
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.play:
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start(); // 開始播放
}
break;
case R.id.pause:
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause(); // 暫停播放
}
break;
case R.id.stop:
if (mediaPlayer.isPlaying()) {
mediaPlayer.reset(); // 停止播放
initMediaPlayer();
}
break;
default:
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
}
}
}

可以看到,在類初始化的時(shí)候我們就創(chuàng)建了一個(gè) MediaPlayer 的實(shí)例,然后在 onCreate() 方法中調(diào)用了 initMediaPlayer()方法為 MediaPlayer 對象進(jìn)行初始化操作。在 initMediaPlayer() 方法中,首先是通過創(chuàng)建一個(gè) File 對象來指定音頻文件的路徑,從這里可以看出,我們需要 事 先 在 SD 卡 的 根 目 錄 下 放 置 一 個(gè) 名 為 music.mp3 的 音 頻 文 件 。 后 面 依 次 調(diào) 用 了 setDataSource()方法和 prepare()方法為 MediaPlayer 做好了播放前的準(zhǔn)備。

接下來我們看一下各個(gè)按鈕的點(diǎn)擊事件中的代碼。當(dāng)點(diǎn)擊 Play 按鈕時(shí)會進(jìn)行判斷,如 果當(dāng)前 MediaPlayer 沒有正在播放音頻,則調(diào)用 start()方法開始播放。當(dāng)點(diǎn)擊 Pause 按鈕時(shí)會 判斷,如果當(dāng)前 MediaPlayer 正在播放音頻,則調(diào)用 pause()方法暫停播放。當(dāng)點(diǎn)擊 Stop 按鈕 時(shí)會判斷,如果當(dāng)前 MediaPlayer 正在播放音頻,則調(diào)用 reset()方法將 MediaPlayer 重置為剛 剛創(chuàng)建的狀態(tài),然后重新調(diào)用一遍 initMediaPlayer()方法。

最后在 onDestroy()方法中,我們還需要分別調(diào)用 stop()和 release()方法,將與 MediaPlayer相關(guān)的資源釋放掉。 這樣一個(gè)簡易版的音樂播放器就完成了,現(xiàn)在將程序運(yùn)行到手機(jī)上

以上就是關(guān)于“Android中如何播放音頻”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前名稱:Android中如何播放音頻-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/diiihs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部