freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓平臺(tái)android的音樂(lè)播放器設(shè)計(jì)畢業(yè)論文-閱讀頁(yè)

2025-07-12 20:47本頁(yè)面
  

【正文】 ut xmlns:android= android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent ImageView android:id=+id/iv1 android:background=drawable/loading_bkg android:layout_width=fill_parent android:layout_height=fill_parent/ /LinearLayout (2) 代碼實(shí)現(xiàn) 歡迎界面模塊主要是用于給用戶一種友好的體驗(yàn),讓用戶較容易接受本軟件。 // 設(shè)置全屏顯示 requestWindowFeature()。 setContentView()。 Animation animation = (AnimationSet) (this, )。 new Handler().postDelayed(new Runnable() { public void run() { // TODO Autogenerated method stub Intent in = new Intent(, )。 finish()。 }} 主界面 Android的每一個(gè)可視化界面,都有其的唯一的布局配置文件,該文件里面有各種布局方式,和各種資源文件如圖像,文字,顏色的引用,程序在運(yùn)行時(shí),可以通過(guò)代碼對(duì)各配置文件進(jìn)行讀取。播放器主界面是一個(gè)Activity,Android工程在每個(gè)activity啟動(dòng)的時(shí)候會(huì)首先執(zhí)行Oncreate()方法,如下代碼: Public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。}該方法主要執(zhí)行界面的初始化操作,Activity有個(gè)設(shè)置布局的方法:(layoutResID),參數(shù)為資源ID,該Id在工程目錄res/layout下,主界面布局文件名為main。 主界面,SeekBar的代碼如下:SeekBar android:id=+id/player_seekbar android:layout_width=220dip android:layout_height=wrap_content android:progressDrawable=drawable/seekbar_style android:background=drawable/play_progress_background android:thumb=drawable/thumb android:progress=0 android:max=0/ 上面代碼中有參數(shù)android:thumb=drawable/thumb 為音軌游標(biāo)的圖片資源android:progressDrawable=drawable/seekbar_style為SeekBar條的風(fēng)格style。音軌設(shè)置了兩個(gè)TextView用來(lái)顯示當(dāng)前歌曲播放的進(jìn)度時(shí)間和歌曲的長(zhǎng)度()。(1)設(shè)置游標(biāo)的起始進(jìn)度為1。 } Runnable start = new Runnable() { public void run() { // TODO Autogenerated method stub (updatesb)。 Runnable updatesb = new Runnable() { public void run() { // TODO Autogenerated method stub // 獲取SeekBar走動(dòng)到那的時(shí)間 = myMediaPlayer .getCurrentPosition()。 // SeekBar的最大值填充歌曲時(shí)間 ( .get(playing_id).getMusicTime())。 } }。 // 歌詞滾動(dòng)線程 Runnable mRunnable = new Runnable() { Override public void run() { // TODO Autogenerated method stub (LrcIndex())。 (mRunnable, 100)。 Android的線程的開(kāi)始是通過(guò)Handler類來(lái)進(jìn)行的,Handler類是線程與線程之間通信的橋梁,實(shí)現(xiàn)Runnable接口會(huì)實(shí)現(xiàn)里面的run方法,當(dāng)線程開(kāi)始的時(shí)候,Runnable中的run方法會(huì)向Handler發(fā)一個(gè)Message消息,這樣,Handler類就可以接收到run方法發(fā)送過(guò)來(lái)的不同的消息進(jìn)行不同的代碼處理。要啟動(dòng)一個(gè)線程調(diào)用Handler的方法postDelayed(Runnable,1000)表示線程睡眠時(shí)間是1000ms 。對(duì)音軌進(jìn)行刷新。這也是進(jìn)度條上的游標(biāo)會(huì)不停的移動(dòng)和歌詞時(shí)間會(huì)不停的變動(dòng)的原因。amp。 } ((progress))。 播放調(diào)節(jié)功能實(shí)現(xiàn) 各按鈕水平放置,從左到右依次是上一首、播放、下一首功能按鈕。將其設(shè)置為水平。配置文件代碼結(jié)構(gòu)如下:LinearLayout android:orientation=horizontal android:layout_width=fill_parent android:layout_height=40dip android:layout_alignParentBottom=true ImageButton /ImageButton ImageButton /ImageButton ImageButton /ImageButton/LinearLayout主要按鈕功能實(shí)現(xiàn)代碼:(1) “上一首”按鈕并實(shí)現(xiàn)功能 (new () { Override public void onClick(View v) { // TODO Autogenerated method stub Intent play_left = new Intent(, )。 startService(play_left)。(2) “播放”按鈕并實(shí)現(xiàn)功能 (new () { public void onClick(View v) { // TODO Autogenerated method stub Intent play_center = new Intent(, )。 startService(play_center)。 (3) “下一首”并實(shí)現(xiàn)功能 (new () { public void onClick(View v) { Intent play_right = new Intent(, )。 startService(play_right)。 }Android的媒體播放原理:Android源程序已經(jīng)為我們封裝好了一個(gè)接口類,叫MediaPlayer。復(fù)位操作,為以后的媒體準(zhǔn)備播放作準(zhǔn)備。參數(shù)需要傳一個(gè)路徑,該接口類在收到路徑后將其轉(zhuǎn)化為數(shù)據(jù)源。 第四步:()。讓其啟動(dòng)。 退出程序界面是否退出程序主要代碼: public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == ) { Dialog dialog = new MyDialog(,)。 ()。 } 歌詞顯示界面當(dāng)播放音樂(lè)文件時(shí),如果同時(shí)存在該歌曲的LRC格式的歌詞文件時(shí),系統(tǒng)會(huì)自動(dòng)匹配歌詞并且達(dá)到同步顯示的效果。 if (canvas == null) { return。 ((140, 255, 255, 255))。 ()。 ()。 ((Index).getLrc(), width / 2, high / 2, CurrentPaint)。 for (int i = Index 1。 i) { tempY = tempY TextHigh。 } tempY = high / 2。 i ()。 ((i).getLrc(), width / 2, tempY, NotCurrentPaint)。 } } 歌詞解析模塊(1) 處理歌詞文件的類public class LrcProcess { private ListLrcContent LrcList。 public LrcProcess() { mLrcContent = new LrcContent()。 }(2) 讀取歌詞文件的內(nèi)容 public String readLRC(String song_path) { // public void Read(String file){ StringBuilder stringBuilder = new StringBuilder()。 try { FileInputStream fis = new FileInputStream(f)。 BufferedReader br = new BufferedReader(isr)。 while ((s = ()) != null) { s = ([, )。 String splitLrc_data[] = ()。 int LrcTime = TimeStr(splitLrc_data[0])。 (mLrcContent)。 } } ()。 ()。 (沒(méi)有有歌詞文件,趕緊去下載!...)。 (沒(méi)有讀取到歌詞??!)。 }(3) 解析歌曲時(shí)間處理類: public int TimeStr(String timeStr) { timeStr = (:, .)。 String timeData[] = ()。 int second = (timeData[1])。 int currentTime = (minute * 60 + second) * 1000 + millisecond * 10。 } public ListLrcContent getLrcContent() { return LrcList。 private int Lrc_time。 } public void setLrc(String lrc) { Lrc = lrc。 } public void setLrc_time(int lrc_time) { Lrc_time = lrc_time。在Android里面,有一個(gè)視圖叫ListView,其特點(diǎn)是一個(gè)有BaseAdapter的屬性,從下到下,或從左到右的顯示方式。我們定義一個(gè)類MusicAdapter 繼承了BaseAdapter,然后通過(guò)算法對(duì)這個(gè)適配器進(jìn)行擴(kuò)展,擴(kuò)展成為第一行能顯示一張圖片和一個(gè)歌曲名字。該方法返回一個(gè)View,即視圖。 歌曲列表ListView同樣有一個(gè)監(jiān)聽(tīng)器new onItemClickListener(){Override public void onItemClick(AdapterView? arg0, View arg1, int arg2,long arg3) {}},我們只要實(shí)現(xiàn)這個(gè)方法,就可以監(jiān)聽(tīng)鼠標(biāo)的點(diǎn)擊事件,當(dāng)鼠標(biāo)點(diǎn)擊到每一行時(shí),(int position)得到該行上的信息。歌詞列表界面的添加一個(gè)ListView控件:?xml version= encoding=utf8?LinearLayout xmlns:android= android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent android:background=drawable/musiclist_bkg TextView/TestView ListView android:id=+id/listView1 android:layout_width=fill_parent android:layout_height=415dip android:cacheColorHint=00000000/ListView/LinearLayout 專輯列表界面 輯列表采用了網(wǎng)格視圖(GridView) 用它能實(shí)現(xiàn)視圖的網(wǎng)格排列,九宮格視圖就是GridVew最典型的使用,GridView是一個(gè)AdapterView,所以需要通過(guò)適配器來(lái)綁定數(shù)據(jù),這里使用BaseAdapte
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1