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

這篇文章將為大家詳細(xì)講解有關(guān)Android中怎么播放音頻,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、武岡網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、武岡網(wǎng)絡(luò)營(yíng)銷、武岡企業(yè)策劃、武岡品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供武岡建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

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

方法名

功能描述

setDataSource()

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

prepare()

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

start()

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

pause()

暫停播放音頻。

reset()

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

seekTo()

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

stop()

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

release()

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

isPlaying()

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

getDuration()

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

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >
<Button android:id="@+id/play" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Play" />
<Button android:id="@+id/pause" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Pause" />
<Button android:id="@+id/stop" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Stop" />
</LinearLayout>

布局文件中橫向放置了三個(gè)按鈕,分別用于對(duì)音頻文件進(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 對(duì)象進(jìn)行初始化操作。在 initMediaPlayer() 方法中,首先是通過創(chuàng)建一個(gè) File 對(duì)象來指定音頻文件的路徑,從這里可以看出,我們需要 事 先 在 SD 卡 的 根 目 錄 下 放 置 一 個(gè) 名 為 music.mp3 的 音 頻 文 件 。 后 面 依 次 調(diào) 用 了 setDataSource()方法和 prepare()方法為 MediaPlayer 做好了播放前的準(zhǔn)備。

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

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

關(guān)于Android中怎么播放音頻就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

本文題目:Android中怎么播放音頻-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article0/degoio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器品牌網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)建站、軟件開發(fā)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管