使用MediaPlayer做的简单音乐播放器,更多内容请到百度经验查看http://jingyan.baidu.com/article/60ccbceb63452364cab197f1.html

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"    android:id="@+id/relativeLayout">    <TextView android:text="音频播放器" android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/textView" />    <LinearLayout        android:orientation="horizontal"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_below="@+id/textView"        android:layout_alignParentLeft="true"        android:layout_alignParentStart="true">        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="播放"            android:id="@+id/button"            android:layout_weight="0.33" />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="停止"            android:id="@+id/button2"            android:layout_weight="0.33" />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="暂停"            android:id="@+id/button3"            android:layout_weight="0.33" />    </LinearLayout></RelativeLayout>
package com.basillee.asus.demo;import android.app.Activity;import android.media.MediaPlayer;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import java.io.File;public class MainActivity extends Activity {    private MediaPlayer mediaPlayer;//MediaPlayer对象    private boolean isPause=false;//是否暂停    private File file;//要播放的文件    private TextView hint;//声明提示信息的文本框    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取各功能按钮        final Button button=(Button)findViewById(R.id.button);//播放        final Button button1=(Button)findViewById(R.id.button2);//暂停        final Button button2=(Button)findViewById(R.id.button3);//停止        hint=(TextView)findViewById(R.id.textView);        if(!isFileExist()){            button.setEnabled(false);        }        //对MediaPlayer对象添加事件监听,当播放完成时重新开始音乐播放        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {            @Override            public void onCompletion(MediaPlayer mp) {                play();            }        });        //对播放按钮进行事件监听        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                play();                if(isPause){                    button1.setText("暂停");                    isPause=false;                }                button1.setEnabled(true);                button2.setEnabled(true);                button.setEnabled(false);            }        });        //对暂停、继续按钮添加事件监听器        button1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if(mediaPlayer.isPlaying()&&!isPause){                    mediaPlayer.pause();                    isPause=true;                    ((Button)v).setText("继续");                    hint.setText("暂停播放音频....");                    button.setEnabled(true);                }else{                    mediaPlayer.start();                    ((Button)v).setText("暂停");                    hint.setText("继续播放音频....");                    button.setEnabled(false);                }            }        });        //对停止按钮添加事件监听器        button2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                mediaPlayer.stop();                hint.setText("停止播放音频...");                button1.setEnabled(false);                button2.setEnabled(false);                button.setEnabled(true);            }        });    }    @Override    protected void onDestroy() {        if(mediaPlayer.isPlaying()){            mediaPlayer.stop();        }        mediaPlayer.release();        super.onDestroy();    }    //判断文件是否存在    private boolean  isFileExist(){        file=new File(Environment.getExternalStorageDirectory()+File.separator+"myMP32.mp3");        if(file.exists()){          //  mediaPlayer=new MediaPlayer();            mediaPlayer=MediaPlayer.create(this,R.raw.my);            try {//                mediaPlayer.setDataSource(file.getAbsolutePath());//                mediaPlayer.prepare();//预加载音频//                mediaPlayer.start();//播放音乐            }catch (Exception e) {                e.printStackTrace();            }            Toast.makeText(this,"file exist",Toast.LENGTH_LONG).show();            return true;        }else{            Toast.makeText(this,"file don't exist",Toast.LENGTH_LONG).show();        }        return false;    }    //播放音乐的方法    private void play(){        try{            mediaPlayer.reset();//从新设置要播放的音乐 //           mediaPlayer.setDataSource(file.getAbsolutePath());//            mediaPlayer.prepare();//预加载音频            mediaPlayer=MediaPlayer.create(this,R.raw.my);            mediaPlayer.start();//播放音乐            hint.setText("Music is starting");        } catch (Exception e) {            e.printStackTrace();            Log.e("err",e.getMessage());        }        return ;    }}

使用MediaPlayer做的简单音乐播放器,更多内容请到百度经验查看http://jingyan.baidu.com/article/60ccbceb63452364cab197f1.html

更多相关文章

  1. Android音频口数据通信开发;通过静态分析工具了解IPA实现 -- iOS/
  2. 简单聊一下Android音频通路的切换
  3. Android多媒体播放器源码解析(stagefright框架)
  4. Android使用FFmpeg(七)--ffmpeg实现暂停、快退快进播放
  5. Android带播放进度条的音乐播放器
  6. Android音频架构解析
  7. android音频口通信——2FSK信号调制
  8. 2011.07.18(4)——— android 播放gif
  9. APP开发实战85-帧动画

随机推荐

  1. java中的类型擦除type erasure
  2. 0415作业-Vue常用指令及方法
  3. 红帽变蓝帽对Ceph有何影响?
  4. 快递100快递信息订阅推送API接口案例代码
  5. 方圆-罗辑思维Go语言微服务改造实践
  6. 快递100快递实时快递查询接口API案例代码
  7. 函数编写n的阶乘的两种方法:循环和递归
  8. 如何恢复Cephfs数据
  9. Palo Alto Networks(派拓网络)云威胁报告新
  10. 一周 Go World 新鲜事