内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

android音樂播放器實(shí)例

鄭州app開發(fā)android音樂播放器實(shí)例。布局代碼是一個(gè)imagebutton和seekbar。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比唐縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式唐縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋唐縣地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

下面是java代碼

MainActivity.java

package cn.xhhkj.musiccyd;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ComponentName;

import android.content.Intent;

import android.content.ServiceConnection;

import android.media.Mediaplayer;

import android.os.bundle;

import android.os.Handler;

import android.os.Ibinder;

import android.view.View;

import android.widget.Imagebutton;

import android.widget.Seekbar;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "結(jié)果是";

    private static final int UpDATE_pROGRESS = 0;

    public String path = "mnt/sdcard/Music/pingguo.mp3";

    private Imagebutton ib_play;

    private Seekbar sb_progress;

    private MusicplayerService.Mybinder musicController;

    private MyConnection conn;

    private Handler handler = new Handler(){

        public void handleMessage(android.os.Message msg) {

            switch (msg.what) {

                case UpDATE_pROGRESS:

                    updateprogress();

                    break;

            }

        };

    };

    @Override

    protected void onCreate(bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        ib_play = findViewbyId(R.id.musicbutton);

        sb_progress = findViewbyId(R.id.seekbar);

        sb_progress.setOnSeekbarChangeListener(new Seekbar.OnSeekbarChangeListener() {

            @Override

            public void onprogressChanged(Seekbar seekbar, int progress, boolean fromUser) {

                if(fromUser){

                    musicController.seekTo(progress);

                }

            }

            @Override

            public void onStartTrackingTouch(Seekbar seekbar) {

            }

            @Override

            public void onStopTrackingTouch(Seekbar seekbar) {

            }

        });

        Intent service = new Intent(this,MusicplayerService.class);

        startService(service);

        conn = new MyConnection();

        bindService(service, conn, bIND_AUTO_CREATE);

    }

    public void play(View view) {

//        Mediaplayer player = new Mediaplayer();

//        try {

//            player.setDataSource(path);

//            player.prepare();

//            player.start();

//        } catch (Exception e) {

//            // TODO Auto-generated catch block

//            e.printStackTrace();

//        }

        musicController.playpause();

        updateplayIcon();

    }

    class MyConnection implements ServiceConnection{

        @Override

        public void onServiceConnected(ComponentName name, Ibinder service) {

            musicController = (MusicplayerService.Mybinder)  service;

            updateplayIcon();

            sb_progress.setMax(musicController.getDuration());

            sb_progress.setprogress(musicController.getCurrentposition());

        }

        @Override

        public void onServiceDisconnected(ComponentName name) {

        }

    }

    private void updateplayIcon(){

        if(musicController.isplaying()){

            ib_play.setImageResource(R.drawable.pause);

            handler.sendEmptyMessage(UpDATE_pROGRESS);

        }else{

            ib_play.setImageResource(R.drawable.play);

            handler.removeMessages(UpDATE_pROGRESS);

        }

    }

    @Override

    protected void onStop() {

        super.onStop();

        handler.removeCallbacksAndMessages(null);

    }

    @Override

    protected void onDestroy() {

        super.onDestroy();

        unbindService(conn);

    }

    @Override

    protected void onResume() {

        super.onResume();

        if(musicController!=null){

            handler.sendEmptyMessage(UpDATE_pROGRESS);

        }

    }

    private void updateprogress(){

        int currentposition = musicController.getCurrentposition();

        sb_progress.setprogress(currentposition);

        handler.sendEmptyMessageDelayed(UpDATE_pROGRESS, 500);

    }

 

}

MusicplayerService.java

package cn.xhhkj.musiccyd;

import android.app.Service;

import android.content.Intent;

import android.media.Mediaplayer;

import android.os.binder;

import android.os.Ibinder;

import androidx.annotation.Nullable;

public class MusicplayerService extends Service {

    private Mediaplayer player;

    private String path = "mnt/sdcard/Music/pingguo.mp3";

    @Nullable

    @Override

    public Ibinder onbind(Intent intent) {

        return new Mybinder();

    }

    public class Mybinder extends binder {

        public void playpause(){

            if(player.isplaying()){

                player.pause();

            }else{

                player.start();

            }

        }

        public boolean isplaying(){

            return player.isplaying();

        }

        public int getDuration(){

            return player.getDuration();

        }

        public int getCurrentposition(){

            return player.getCurrentposition();

        }

        public void seekTo(int msec){

            player.seekTo(msec);

        }

    }

    @Override

    public void onCreate() {

        super.onCreate();

        player = new Mediaplayer();

        try {

            player.setDataSource(path);

            player.prepare();

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

}

名稱欄目:android音樂播放器實(shí)例
文章地址:http://www.rwnh.cn/article20/sccoco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、全網(wǎng)營銷推廣、網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
驻马店市| 隆德县| 称多县| 新干县| 桃江县| 施秉县| 丰台区| 共和县| 新蔡县| 苍南县| 吉木萨尔县| 淮阳县| 时尚| 金门县| 罗甸县| 若羌县| 漳平市| 桐城市| 驻马店市| 峨山| 惠水县| 大渡口区| 灵丘县| 嵩明县| 麻栗坡县| 秦安县| 嘉善县| 抚远县| 沙坪坝区| 安图县| 南郑县| 南郑县| 江门市| 剑河县| 天全县| 张家川| 凯里市| 新邵县| 余干县| 河源市| 嘉义县|