• Android——简单音乐播放器


    使用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

  • 相关阅读:
    如何用互联网的思维开一家有逼格的客栈?
    create和grant配合使用,对Mysql进行创建用户和对用户授权
    Nginx 403 forbidden原因及故障模拟重现(转载)
    企业级缓存系统varnish应用
    实现基于Haproxy+Keepalived负载均衡高可用架构
    企业级监控zabbix基础
    实现基于Keepalived主从高可用集群网站架构
    实现基于LVS负载均衡集群的电商网站架构
    实现基于lnmp的电子商务网站
    CentOS6编译LAMP基于FPM模式的应用wordpress
  • 原文地址:https://www.cnblogs.com/BasilLee/p/4269346.html
Copyright © 2020-2023  润新知