鍍金池/ 教程/ Android/ Android MediaPlayer(多媒體播放)
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢(shì)
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪問(wèn)
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過(guò)濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫)實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對(duì)話框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android MediaPlayer(多媒體播放)

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