最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android實現(xiàn)簡單音樂播放器

 更新時間:2019年12月23日 10:38:18   作者:geekjoker  
這篇文章主要為大家詳細介紹了android實現(xiàn)簡單音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了android音樂播放器的具體代碼,供大家參考,具體內容如下

話不多說先上效果

前言

寫這個音樂播放器實在是迫不得已。因為我們Andoird課程要求寫一個音樂播放器。所以就有了此項目。這個項目比較簡單,實現(xiàn)了最基本的音樂播放功能,然后界面是仿照著網易云音樂的樣式,寫的想寫成一樣但是技術不夠。

基本的音樂播放

設置播放音樂文件

Android播放媒體文件大概都是使用MediaPlayer這個類來操作的。
在播放音樂前,必須要給這個MediaPlayer設置一要播放的東西,對于文件資源來說(音樂,視頻都算一種文件資源),能夠唯一標識它的就是文件的地址(路徑)。我們這里使用的是本機音樂,那么就使用文件路徑就可以。

private static final MediaPlayer mediaPlayer = new MediaPlayer();
 /**
  * 設置播放文件
  * @param path
  */
 public static void setPlayPath(String path){
  try {
   // 設置類型
   mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
   // 這里要reset一下啊 (當已經設置過音樂后,再調用此方法時,沒有reset就會異常)
   mediaPlayer.reset();
   mediaPlayer.setDataSource(path);// 設置文件源
   mediaPlayer.prepare();// 解析文件
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

播放音樂

設置完播放文件后,下一步就是音樂的播放、暫停、跳進度播放等等。
這里先介紹MediaPlayer的自帶方法

mediaPlayer.isPlaying();// 是否正在播放
mediaPlayer.start(); // 開始播放,如果已經在播放不會有什么效果
mediaPlayer.stop(); // 停止播放 - 不可以使用start重新開始
mediaPlayer.pause(); // 暫停當前播放
mediaPlayer.seekTo(0); // 移動到某一播放進度
mediaPlayer.getCurrentPosition();// 獲取當前播放進度

了解了上面的方法后那么就可以實現(xiàn)幾乎所有的音樂播放功能。

那么要實現(xiàn)音樂播放功能只需要在調用了setPlayPath(path)后再調用mediaPlayer.start()就能成功的播放音樂前提條件是你確實的設置了正確的音樂路徑

獲取音樂的信息

獲取音樂信息可以使用MediaMetadataRetriever類來獲取。它和MediaPlayer也需要一個文件路徑來尋找到音樂。

private static final MediaMetadataRetriever mmr = new MediaMetadataRetriever();
public static Song getSong(String path){
  Song song = new Song();// 自己定義的歌曲類
  song.setPath(path);
  // 獲取音樂相關信息
  mmr.setDataSource(path);
  // 歌曲名
  String title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
  song.setTitle(title);
  // 唱片集
  String album = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
  song.setAlbum(album);
  // (藝術家)歌手
  String artist = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST);
  song.setArtist(artist);
  // 歌曲長度(時間長度 單位 mm)
  int duration = Integer.parseInt(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)); // 播放時長單位為毫秒 
  song.setDuration(duration);
  // 歌曲的圖片
  byte[] image = mmr.getEmbeddedPicture();// 圖片,可以通過BitmapFactory.decodeByteArray轉換為bitmap圖片
//  BitmapFactory.decodeByteArray(image, 0, image.length);
  song.setImage(image);
  return song;
 }

其他功能

其他功能都是基于Android的事件和以上播放功能加上MediaMetadataRetriever獲取音樂信息來實現(xiàn)的。所以就不詳細介紹直接貼代碼吧。

github代碼倉庫

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • android自定義環(huán)形對比圖效果

    android自定義環(huán)形對比圖效果

    這篇文章主要為大家詳細介紹了android自定義環(huán)形對比圖,外環(huán)有類似進度條的旋轉動畫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • android音樂播放器監(jiān)聽電話狀態(tài)實現(xiàn)代碼

    android音樂播放器監(jiān)聽電話狀態(tài)實現(xiàn)代碼

    在手機上播放音樂的時候,我們希望監(jiān)聽電話的狀態(tài),當然在MID上沒有電話功能,不需要監(jiān)聽
    2013-11-11
  • Android自定義view實現(xiàn)TextView方形輸入框

    Android自定義view實現(xiàn)TextView方形輸入框

    這篇文章主要為大家詳細介紹了Android自定義view實現(xiàn)TextView方形輸入框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Android實現(xiàn)強制下線功能的示例代碼

    Android實現(xiàn)強制下線功能的示例代碼

    這篇文章主要介紹了Android實現(xiàn)強制下線功能的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • XListView實現(xiàn)下拉刷新和上拉加載原理解析

    XListView實現(xiàn)下拉刷新和上拉加載原理解析

    這篇文章主要為大家解析了XListView實現(xiàn)下拉刷新和上拉加載原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Kotlin使用滾動控件RecyclerView實例教程

    Kotlin使用滾動控件RecyclerView實例教程

    RecyclerView是Android一個更強大的控件,其不僅可以實現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實現(xiàn)數據縱向滾動,也可以實現(xiàn)橫向滾動(ListView做不到橫向滾動)。接下來講解RecyclerView的用法
    2022-12-12
  • Android智能指針輕量級Light Pointer初識

    Android智能指針輕量級Light Pointer初識

    這篇文章主要為大家介紹了Android智能指針輕量級Light Pointer初識詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Flutter利用Canvas繪制精美表盤效果詳解

    Flutter利用Canvas繪制精美表盤效果詳解

    這篇文章主要介紹了如何利用Flutter中的Canvas繪制一個精美的表盤效果,文中的實現(xiàn)步驟講解詳細,快跟隨小編一起動手嘗試一下
    2022-03-03
  • 如何利用Kotlin實現(xiàn)極簡回調

    如何利用Kotlin實現(xiàn)極簡回調

    這篇文章主要給大家介紹了關于如何利用Kotlin實現(xiàn)極簡回調的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • 使用Android造了個滾輪控件輪子示例

    使用Android造了個滾輪控件輪子示例

    這篇文章主要介紹了使用Android造了個滾輪控件輪子示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02

最新評論

香港 | 崇明县| 临桂县| 海原县| 神池县| 蓝山县| 会宁县| 阳新县| 嘉兴市| 曲水县| 旬邑县| 花莲县| 塔城市| 那坡县| 西乌| 嫩江县| 隆昌县| 海城市| 哈尔滨市| 洛隆县| 喀什市| 酉阳| 孟州市| 玛曲县| 江口县| 湟中县| 彭州市| 荣成市| 崇左市| 油尖旺区| 玉山县| 秦皇岛市| 顺平县| 济源市| 邻水| 康平县| 温州市| 华阴市| 寿宁县| 邯郸县| 沾化县|