zoukankan      html  css  js  c++  java
  • 简单的音乐播放

    (总结《第一行代码》的播放音频)

    这种只是能对指定的一首音频文件进行播放。

    先看运行效果

    代码相对还是比较简单的,需要注意的是,在运行程序之前,要在根目录下面放个名字为“music.mp3”的音频文件。

    public class MainActivity extends ActionBarActivity implements OnClickListener{
        
        private Button play;
        
        private Button pause;
        
        private Button stop;
        
        private MediaPlayer mediaPlayer =new MediaPlayer();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            play=(Button)findViewById(R.id.play);
            pause=(Button)findViewById(R.id.pause);
            stop=(Button)findViewById(R.id.stop);
            
            play.setOnClickListener(this);
            pause.setOnClickListener(this);
            stop.setOnClickListener(this);
            //初始化MediaPlay
            initMediaPlayer();
        }
        
        
        private void initMediaPlayer(){
            try {
                //手机sd卡的根目录,作为“music.mp3”存储路径
                File file=new File(Environment.getExternalStorageDirectory(),"music.mp3");
                //将file的存储路径赋给meidaPlayer
                mediaPlayer.setDataSource(file.getPath());
                //准备完成
                mediaPlayer.prepare();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onClick(View v) {
            
            switch (v.getId()) {
            //开始播放
            case R.id.play:
                if (!mediaPlayer.isPlaying()) {
                    mediaPlayer.start();
                }
                break;
            //暂停,当点击play按钮时再次播放,会从上次暂停的位置开始播放
            case R.id.pause:
                if (mediaPlayer.isPlaying()) {
                    mediaPlayer.pause();
                }
                break;
            //停止播放,当点击play按钮时,会重新播放音乐
            case R.id.stop:
                if (mediaPlayer.isPlaying()) {
                    mediaPlayer.stop();
                }
                break;
            default:
                break;
            }    
        }
    
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            if (mediaPlayer!=null) {
                //将与MediaPlay相关的资源释放掉
                mediaPlayer.stop();
                mediaPlayer.release();
            }
        }
        
        
    }
  • 相关阅读:
    System.Web.Mvc.HttpPostAttribute vs System.Web.Http.HttpPostAttribute? [duplicate]
    Autofac Exception Summary Autofac异常汇总
    AppBox v1.0 发布了
    [原创]ExtAspNet秘密花园(十一) — 布局概述
    ExtAspNet v3.1.9
    ExtAspNet v3.1.8 发布了
    ExtAspNet 主题赏析 7款 超炫!
    ExtAspNet v3.1.7
    ExtAspNet v3.1.6
    [原创]采用Asp.Net的Forms身份验证时,持久Cookie的过期时间会自动扩展
  • 原文地址:https://www.cnblogs.com/mercuryli/p/4510675.html
Copyright © 2011-2022 走看看