Android开发—-简单几步教你制作一个简易的音乐播放器

Android开发—-简单几步教你制作一个简易的音乐播放器前言:本博文只教你编程的思想,就举一个简单的例子来实现我们的简易的音乐播放器,大家不喜勿喷啊友情提示:本博文用到的是AndroidStudio进行开发的,软件安装教程:AndroidStudio安装教程:文章目录:一.缓冲界面实现:二:播放音乐界面:一.缓冲界面实现:在前面的博客中也讲到了关于界面缓冲跳转的方法,详情请查:3种方式实现界面缓冲,为什么要设置这个呢?自我感觉当用户点进应用后,至少有一个缓冲时间,不仅仅是让用户缓冲也是为了让程序内部进行缓冲缓冲,话不多说一起来看看设计:当然首先是界

大家好,又见面了,我是你们的朋友全栈君。

前言:本博文只教你编程的思想,就举一个简单的例子来实现我们的简易的音乐播放器,大家不喜勿喷啊
友情提示:本博文用到的是Android Studio进行开发的,软件安装教程:Android Studio安装教程:

一.缓冲界面实现:

在前面的博客中也讲到了关于界面缓冲跳转的方法,详情请查:3种方式实现界面缓冲,为什么要设置这个呢?自我感觉当用户点进应用后,至少有一个缓冲时间,不仅仅是让用户缓冲也是为了让程序内部进行缓冲缓冲,话不多说一起来看看设计:

当然首先是界面的设计:在本次设计中用到了:LinearLayout布局方式以及TextViewimageview控件,为什么要用这种布局方式呢?因为这种方式有利于我们的排版,对控件可以更好地选取合适的位置,当然各人有各人的方式布局,只要不失美观性即可:

XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bcc" android:orientation="vertical" tools:context=".MainActivity">

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="50dp" android:fontFamily="cursive" android:text="钉钉音乐播放器" android:textColor="?attr/colorControlActivated" />

    <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="240dp" android:layout_gravity="center" app:srcCompat="@drawable/bc" />

    <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="钉钉音乐" android:textColor="?attr/colorControlActivated" android:textSize="36sp" />

    <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="200dp" android:text="----不止是专注于学习" android:textColor="@android:color/holo_green_dark" android:textSize="17sp" />

</LinearLayout>

界面效果:
在这里插入图片描述
内容都可以进行更改哦,我只是简单的举个例子呀

XML只是设计了布局方面的问题,但是主要功能还在java代码中,走一起来瞅瞅:

Java代码:
博主写了三种缓冲方式,你们自己感觉哪个方便就可以用哪个哦!

package com.example.musicplayer;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity { 
   
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
               final Intent intent = new Intent(this, play.class); //就是要跳转的哪个界面
// Timer timer = new Timer();
// TimerTask timerTask = new TimerTask() { 
   
// @Override
// public void run() { 
   
// startActivity(intent);
// }
// };
            Toast.makeText(this,"稍等页面将在3秒后进行跳转",Toast.LENGTH_LONG).show();  
            //提示信息,在屏幕底部,显示提示信息
// timer.schedule(timerTask, 3000);
            new Handler().postDelayed(new Runnable() { 
   
                @Override
                public void run() { 
   
                    startActivity(intent);
                    finish();
                }
            },3000);

// new Thread(new Runnable() { 
   
// @Override
// public void run() { 
   
// try { 
   
// Thread.sleep(3000);
// startActivity(intent);
// finish();
// } catch (InterruptedException e) { 
   
// e.printStackTrace();
// }
// }
// }).start();
        }
    }

二:播放音乐界面:

在音乐播放界面,我是用的是布局的嵌套,LinearLayout布局中进行嵌套LinearLayout布局,加以TextViewimageview控件,也不知道我的审美怎样,咱们做的是最简易的音乐播放器,我就弄得稍微简单,方便通俗易懂,咱们代码中解释:

XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black" android:orientation="vertical" tools:context=".play">

    <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="钉钉音乐播放界面" android:textColor="@android:color/holo_orange_dark" />

    <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="50dp" android:background="@android:color/black" app:srcCompat="@drawable/bc" />

    <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="50dp" android:background="?attr/colorButtonNormal" android:paddingTop="50dp">

        <ImageButton android:id="@+id/imageButton" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginLeft="50dp" android:onClick="Bofang" app:srcCompat="@drawable/music_play" />

        <ImageButton android:id="@+id/imageButton2" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginLeft="70dp" android:layout_marginBottom="40dp" android:onClick="Zhanting" app:srcCompat="@drawable/music_stop" />
    </LinearLayout>
</LinearLayout>

其实比较重要的就是这个android:onClick="Bofang" android:onClick="Zhanting",给两个图片控件设置单击事件,button大家熟悉吧,最常用的就是click事件了,下面咱们来看看这个界面的大体:
在这里插入图片描述
其实哪两个按钮一个是播放加暂停音乐,一个是重新开始播放音乐,其余的控件基本没啥用,主要为了美观,嘻嘻
下面看主程序运行效果实现代码:(一切解释在代码中哦)
Java代码:

package com.example.musicplayer;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.media.Image;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;

public class play extends AppCompatActivity implements View.OnClickListener { 
   
ImageButton bofang,zhanting;    //实例化两个照片按钮对象
MediaPlayer mediaPlayer;     //音乐播放的实例
    @Override
    protected void onCreate(Bundle savedInstanceState) { 
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_play);
        bofang=findViewById(R.id.imageButton);   //进行绑定
        zhanting=findViewById(R.id.imageButton2);   //进行绑定
        mediaPlayer=MediaPlayer.create(this,R.raw.shaonian);
        mediaPlayer.setLooping(true);
    }

    public void Bofang(View view) { 
   
        try { 
   
            if (!mediaPlayer.isPlaying()) { 
   
                mediaPlayer.start();
                bofang.setImageResource(R.drawable.music_pause);  //当播放暂时的图片
            } else { 
   
                mediaPlayer.pause();
                bofang.setImageResource(R.drawable.music_play);  //开始播放时的图片
            }
        } catch (Exception e) { 
    e.printStackTrace();}
    }

    public void Zhanting(View view) { 
   
        mediaPlayer.reset();
        try { 
   
            mediaPlayer=MediaPlayer.create(this,R.raw.shaonian);   //点击重新播放时,重新创建播放实例,播放的音乐路径
            mediaPlayer.setLooping(true);
        }
       catch (Exception e){ 
   e.printStackTrace();}
        bofang.setImageResource(R.drawable.music_play);
    }

    @Override
    public void onClick(View v) { 
   
        try { 
   
            if (!mediaPlayer.isPlaying()) { 
   
                mediaPlayer.start();
                bofang.setImageResource(R.drawable.music_pause);
            } else { 
   
                mediaPlayer.pause();
                bofang.setImageResource(R.drawable.music_play);
            }
        } catch (Exception e) { 
    e.printStackTrace();}
    }
}

哦,对了差点忘记了,这个图片的资源全部在这儿哦!
在这里插入图片描述


这样简单地一个音乐播放器就做好了,喜欢的朋友可以看看,觉得那块有问题了可以在评论区打出来,大家一块研究研究呀,谢谢大家喽?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160596.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 六十四卦详细解释_六十四卦断事

    六十四卦详细解释_六十四卦断事文章目录第1卦 乾为天(乾卦) 刚健中正 上上卦第2卦 坤为地(坤卦) 柔顺伸展 上上卦第3卦 水雷屯(屯卦) 起始维艰 下下卦第4卦 山水蒙(蒙卦) 启蒙奋发 中下卦第5卦 水天需(需卦) 守正待机 中上卦第6卦 天水讼(讼卦) 慎争戒讼 中下卦第7卦 地水师(师卦) 行险而顺 中上卦第8卦 水地比(比卦) 诚信团结 上上卦第9卦 风天小畜(小畜卦) 蓄养待进 下下卦第10卦 天泽履(履卦) 脚…

    2022年8月18日
    10
  • js判断是否是数字

    js判断是否是数字js判断是否是数字 (请输入数字)       functioncheckRate(input){    varre=/^[0-9]+.?[0-9]*$/;  //判断字符串是否为数字    //判断正整数/^[1-9]+[0-9]*]*$/    varnubmer=document.getElementById(input

    2022年6月29日
    25
  • mySQL函数根据经纬度计算两点距离

    mySQL函数根据经纬度计算两点距离

    2022年2月23日
    45
  • Pycharm连接并调用服务器「建议收藏」

    Pycharm连接并调用服务器「建议收藏」Pycharm可以与服务器建立连接,把相应的项目同步到服务器上,并且可以通过Pycharm直接使用服务器的解释器运行相应程序,实现Pycharm编程,服务器运行的效果。具体步骤如下:1.建立一个服务器连接Pycharm的“Tools”-》“Deployment”-》“Configuration”2.创建一个SFTP3.为该项目添加一个SSH解释器。因为前面已经添加好了服务器连接,所以这里直接选择已经设置好的就可以,如果没有已经设置好的,可以重新添加。配置好SSH之后,选择Next,设置本地项目

    2022年8月28日
    1
  • 云计算平台构建与实验设计

    课程设计任务书一、作业目的  物联网的核心是应用,应用的核心是云计算。通过构建一个云计算平台,并利用这个平台设计云计算实验,将结果与普通的电脑计算比较两者的差别,感受云计算的优越性能,从而对物联网有更深刻的体验与认识。二、作业内容及要求    能够按照课程设计任务书按照相应的要求完成整个云计算平台的搭建,要完成这个任务,就要对云计算平台的架构和原理有一定的认识,对物联网的应用层有深入的学习,通…

    2022年4月6日
    50
  • Windows安装git客户端[通俗易懂]

    Windows安装git客户端[通俗易懂]1、客户端安装工具如下Git-2.12.2.2-64-bit.exe下载地址:https://gitforwindows.org/,界面如下TortoiseGit-2.4.0.2-64bit.msi下载地址:https://tortoisegit.org/,界面如下Git-2.12.2.2-64-bit.exe:是需要安装的git真正工具TortoiseGit-2.4.0.2-64bit.msi:…

    2025年10月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号