91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android應用開發:音樂播放器(2)--技術細節

發布時間:2020-07-12 22:07:26 來源:網絡 閱讀:546 作者:wxmgcs 欄目:移動開發

1)共享數據類:

使用android系統提供的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI獲取本地所有音頻文件,將獲取到的音頻文件封裝到MusicInfoController類中,將該類交給繼承自Application的MusicPlayerApp類來管理,這樣就可以實現通過MusicInfoController類來共享程序中的數據。
cursorMusic = musicInfoControl.getAllMusic();
2)定義常量:
由于程序中多處用到BroadCastReceiver和Intent中key的傳遞,所以有必要將key定義在Contants類中,并且將不同的key封裝到內部類中,便于管理
Contants(MusicPlayerMsg、MusicInfoBySharedPreference、ReceiverByBroadcast、MsgByBroadcast);
3)保存程序退出數據:
將程序的退出信息寫到SharedPreference中,方便程序下次運行的時候,找到可用的資源。
setMusicInfoToSP(String musicName, String musicPath);
getMusicInfoBySP();
4)播放暫停控制:
設置標志位
5)上一曲/下一曲:
當前的歌曲id加1/減一后,將該值發給musicInfoControl,從musicInfoControl中獲取歌曲的上一首/下一首信息
6)播放進度的字符顯示:
在Service中創建進程,該進程每隔1秒將當前的播放狀態(mplayer.getCurrentPosition())發送給主界面,主界面對接收到的數據進行格式化
SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("mm:ss");
musicEndTime.setText(mSimpleDateFormat.format(durationTime));
7)進度條的實時更新:
設置當前值:musicProgressBar.setProgress(currentTime);
設置最大值:musicProgressBar.setMax(durationTime);
8)實時更新播放界面的歌曲標題:
在播放列表界面的時候,通過廣播將listview中被選擇的歌曲信息發給播放主界面。
9)監聽播放結束信息

setOnCompletionListener

10)點擊Menu按鍵就無法彈出菜單

覆寫activity的onKeyUp方法,并調用監聽KeyEvent.KEYCODE_MENU,super.openOptionsMenu();



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝丰县| 鸡东县| 阳山县| 民县| 遂川县| 南木林县| 横峰县| 琼海市| 冕宁县| 越西县| 彭州市| 新干县| 五寨县| 富源县| 十堰市| 崇信县| 思茅市| 庆安县| 金阳县| 连云港市| 紫云| 包头市| 长葛市| 连山| 方城县| 鄯善县| 南通市| 宁陵县| 嵩明县| 民和| 淳安县| 仪征市| 龙井市| 阳朔县| 曲靖市| 汉中市| 邵阳县| 平和县| 柳河县| 南京市| 都江堰市|