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

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

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

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

話不多說先上效果

前言

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

基本的音樂播放

設(shè)置播放音樂文件

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

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

播放音樂

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

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

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

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

獲取音樂的信息

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

private static final MediaMetadataRetriever mmr = new MediaMetadataRetriever();
public static Song getSong(String path){
  Song song = new Song();// 自己定義的歌曲類
  song.setPath(path);
  // 獲取音樂相關(guān)信息
  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);
  // (藝術(shù)家)歌手
  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轉(zhuǎn)換為bitmap圖片
//  BitmapFactory.decodeByteArray(image, 0, image.length);
  song.setImage(image);
  return song;
 }

其他功能

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

github代碼倉庫

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

    這篇文章主要為大家詳細介紹了android自定義環(huán)形對比圖,外環(huán)有類似進度條的旋轉(zhuǎ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)強制下線功能的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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)數(shù)據(jù)縱向滾動,也可以實現(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)極簡回調(diào)

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

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

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

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

最新評論

博白县| 阿巴嘎旗| 奉贤区| 元谋县| 阳西县| 班戈县| 乐陵市| 且末县| 郑州市| 苏州市| 怀集县| 杭锦旗| 大竹县| 尉犁县| 乌恰县| 东山县| 金昌市| 营口市| 兰州市| 南平市| 长沙县| 华池县| 博湖县| 黑水县| 亳州市| 垦利县| 依兰县| 淮滨县| 昭平县| 枞阳县| 驻马店市| 准格尔旗| 凯里市| 屯门区| 贵定县| 阿勒泰市| 仪征市| 淮滨县| 江山市| 南丰县| 辰溪县|