zoukankan      html  css  js  c++  java
  • android四大组件之Service 播放音乐

    首先定义接口

    package com.example.musicplay;
    
    public interface PlayInterface {
        void play();
        void playContiue();
        void pause();
    }
    package com.example.musicplay;
    
    import android.app.Service;
    import android.content.Intent;
    import android.media.MediaPlayer;
    import android.os.Binder;
    import android.os.IBinder;
    
    public class PlayService extends Service {
        private MediaPlayer mediaPlayer;
        @Override
        public IBinder onBind(Intent intent) {
            // TODO: Return the communication channel to the service.
            return new MusicBinder();
        }
        class MusicBinder extends Binder implements PlayInterface{
    
            @Override
            public void play() {
                // TODO Auto-generated method stub
                PlayService.this.play();
            }
    
            @Override
            public void playContiue() {
                // TODO Auto-generated method stub
                PlayService.this.playContiue();
            }
    
            @Override
            public void pause() {
                // TODO Auto-generated method stub
                PlayService.this.pause();
                
            }
            
        }
        @Override
        public void onCreate() {
            mediaPlayer = new MediaPlayer();
        }
        
        private void play(){
            //重置
            mediaPlayer.reset();
            try {
                mediaPlayer.setDataSource("sdcard/Charlotte Perrelli - Hero.mp3");
                //准备
                mediaPlayer.prepare();
            } catch (Exception e) {
                // TODO Auto-generated catcssh block
                e.printStackTrace();
            }
            mediaPlayer.start();
        }
        private void playContiue(){
            mediaPlayer.start();
        }
        private void pause(){
            mediaPlayer.pause();
        }
    }
    package com.example.musicplay;
    
    import android.os.Bundle;
    import android.os.IBinder;
    import android.app.Activity;
    import android.content.ComponentName;
    import android.content.Intent;
    import android.content.ServiceConnection;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    
    public class MainActivity extends Activity {
        private PlayInterface p;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Intent intent = new Intent(this,PlayService.class);
            startService(intent);
            bindService(intent, new Conn(), BIND_AUTO_CREATE);
            
            findViewById(R.id.paly).setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    p.play();
                    
                }
            });
            findViewById(R.id.contiue).setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    p.playContiue();
                    
                }
            });
            findViewById(R.id.pause).setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    p.pause();
                }
            });
        }
        class Conn implements ServiceConnection{
    
            @Override
            public void onServiceConnected(ComponentName arg0, IBinder arg1) {
                // TODO Auto-generated method stub
                p = (PlayInterface) arg1;
            }
    
            @Override
            public void onServiceDisconnected(ComponentName arg0) {
                // TODO Auto-generated method stub
                
            }
            
        }
    
    
    }
  • 相关阅读:
    Django学习之八:forms组件【对form舒心了】
    Django学习之七:Django 中间件
    Django学习之六:Django 常用模块导入记忆
    Django学习之五:Django 之 注意事项及汇总
    Django学习之四:Django Model模块
    工程师基本常识
    Redis详解
    Nginx浅析
    MySQL数据库引擎、事务隔离级别、锁
    浅谈HTTP中GET和POST请求方式的区别
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4977591.html
Copyright © 2011-2022 走看看