Android提供了許多方法來(lái)控制播放的音頻/視頻文件和流。其中該方法是通過(guò)一類稱為MediaPlayer。
Android是提供MediaPlayer類訪問(wèn)內(nèi)置的媒體播放器的服務(wù),如播放音頻,視頻等為了使用MediaPlayer,我們要調(diào)用這個(gè)類的靜態(tài)create() 方法。此方法返回MediaPlayer類的一個(gè)實(shí)例。它的語(yǔ)法如下:
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);
第二個(gè)參數(shù)是要播放的歌曲的名字。必須做出一個(gè)新的文件夾下的項(xiàng)目名稱為raw,然后將音樂(lè)文件轉(zhuǎn)換成它。
創(chuàng)建了MediaPlayer對(duì)象之后,可以調(diào)用一些方法來(lái)啟動(dòng)或停止音樂(lè)。這些方法在下面列出。
mediaPlayer.start(); mediaPlayer.pause();
在調(diào)用start()方法時(shí),音樂(lè)將從頭開始播放。如果此方法是pause() 方法之后再次調(diào)用時(shí),音樂(lè)將開始從那里被停住,而不是從頭開始播放。
要從一開始啟動(dòng)音樂(lè),必須調(diào)用 reset()方法。其語(yǔ)法如下給出:
mediaPlayer.reset();
除了start和pause方法,有用于與音頻/視頻文件更好處理提供的此類其他方法。這些方法如下:
Sr.No | 方法及說(shuō)明 |
---|---|
1 |
isPlaying() 這個(gè)方法只是返回真/假,表示是否正在播放歌曲 |
2 |
seekTo(positon) 此方法采用的整數(shù)和移動(dòng)的歌曲,以特定的秒 |
3 |
getCurrentDuration() 這個(gè)方法返回歌曲以毫秒為單位的當(dāng)前位置 |
4 |
getDuration() 這個(gè)方法返回歌曲以毫秒為單位的總持續(xù)時(shí)間 |
5 |
reset() 此方法重置媒體播放器 |
6 |
release() 此方法釋放附MediaPlayer對(duì)象的任何資源 |
7 |
setVolume(float leftVolume, float rightVolume) 此方法設(shè)置了上下這個(gè)播放器音量 |
8 |
setDataSource(FileDescriptor fd) 此方法設(shè)置音頻/視頻文件的數(shù)據(jù)源 |
9 |
selectTrack(int index) 此方法采用的整數(shù),并選擇該特定索引從列表中的軌道 |
10 |
getTrackInfo() 這個(gè)方法返回軌道信息的數(shù)組 |
這里有一個(gè)例子演示如何使用的MediaPlayer類。它創(chuàng)建了一個(gè)基本的媒體播放器,可以前進(jìn),后退,播放和暫停播放歌曲。
為了試驗(yàn)這個(gè)例子,需要一個(gè)實(shí)際的設(shè)備上運(yùn)行這聽聽聲音。
Steps | 描述 |
---|---|
1 | You will use Eclipse IDE to create an Android application and name it as MediaPlayer under a package com.yiibai.mediaplayer. While creating this project, make sure you Target SDK and Compile With at the latest version of Android SDK to use higher levels of APIs. |
2 | Modify src/MainActivity.java file to add MediaPlayer code. |
3 | Modify the res/layout/activity_main to add respective XML components |
4 | Modify the res/values/string.xml to add necessary string components |
5 | Create a new folder under MediaPlayer with name as raw and place an mp3 music file in it with name as song.mp3 |
6 | Run the application and choose a running android device and install the application on it and verify the results |
Following is the content of the modifed main activity filesrc/com.yiibai.mediaplayer/MainActivity.java.
package com.example.mediaplayer; import java.util.concurrent.TimeUnit; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { public TextView songName,startTimeField,endTimeField; private MediaPlayer mediaPlayer; private double startTime = 0; private double finalTime = 0; private Handler myHandler = new Handler();; private int forwardTime = 5000; private int backwardTime = 5000; private SeekBar seekbar; private ImageButton playButton,pauseButton; public static int oneTimeOnly = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); songName = (TextView)findViewById(R.id.textView4); startTimeField =(TextView)findViewById(R.id.textView1); endTimeField上一篇:Android碎片/片段下一篇:Android RadioGroup