Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android音樂播放-MediaPlayerAndroid音樂播放-MediaPlayer

Android音樂播放-MediaPlayerAndroid音樂播放-MediaPlayer

編輯:關於Android編程

當你坐公交無聊的時候,當你淹沒在地鐵中人潮中的時候,你是否想內心保持一份的安靜呢,那麼請帶上耳機,打開你的音樂播放器,聽一首老歌帶你進入寧靜的世界,音樂播放這個功能在智能手機出現之前,諾基亞時代,甚至追溯到最開始的大哥大的時候都是屬於音頻的范疇。Android中播放音頻不可避免的使用的一個類是Mediaplayer,視頻調用也是這個類。扯遠了,開始正題吧:   基礎維護   首先這個時候來看看要實現的效果吧:           布局如下:     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     tools:context="com.example.googlemedia.MainActivity" >       <EditText         android:id="@+id/edit_musicPath"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:hint="輸入你喜歡歌曲的路徑" />       <LinearLayout         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:orientation="horizontal" >           <Button             android:id="@+id/btn_Play"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="playEvent"             android:text="播放" />           <Button             android:id="@+id/btn_Pause"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="pauseEvent"             android:text="暫停" />           <Button             android:id="@+id/btn_Stop"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="stopEvent"             android:text="停止" />           <Button             android:id="@+id/btn_Replay"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="replayEvent"             android:text="重播" />     </LinearLayout>   </LinearLayout> Demo完成   音頻文件:       播放按鈕事件:       public  void playEvent(View view){      editText=(EditText) findViewById(R.id.edit_musicPath);      String pathString=editText.getText().toString().trim();      File file=new File(pathString);      if (file.exists()) {          try {              mediaPlayer = new MediaPlayer();              mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);              mediaPlayer.setDataSource(pathString);              mediaPlayer.prepare();              mediaPlayer.start();              //多次點擊播放按鈕容易混音              btn_PlayButton.setEnabled(false);              //播放完之後需要回調的時候設置顯示              mediaPlayer.setOnCompletionListener(new OnCompletionListener() {                                 @Override                public void onCompletion(MediaPlayer mp) {                    // TODO Auto-generated method stub                      btn_PlayButton.setEnabled(true);                }            });        } catch (IllegalArgumentException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SecurityException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IllegalStateException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }else {        Toast.makeText(this, "Sorry,你輸入的路徑有問題,請仔細檢查",Toast.LENGTH_SHORT).show();    } }       暫停和繼續事件:  lic  void  pauseEvent(View view){     if ( btn_PauseButton.getText().equals("繼續")) {        mediaPlayer.start();         btn_PauseButton.setText("暫停");        return;    }     if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {         mediaPlayer.pause();         btn_PauseButton.setText("繼續");    } } 暫停和繼續效果:       停止事件:     public  void stopEvent(View view){      if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {          btn_PlayButton.setEnabled(true);          mediaPlayer.stop();          //釋放mediaplayer否則的話會占用內存          mediaPlayer.release();          mediaPlayer=null;     }      btn_PauseButton.setText("暫停");      btn_PlayButton.setEnabled(true);  }  重播事件:     public  void  replayEvent(View view){     if (mediaPlayer!=null&&mediaPlayer.isPlaying()) {         mediaPlayer.seekTo(0);    }else {        playEvent(view);    }     //重播的時候應該設置播放的狀態     btn_PlayButton.setEnabled(true); }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved