这是一个非常简单的应用程序,适合初学者学习概念。在开始之前,以下先决条件已经足够。
- 适用于初学者的Android基础
- 安装和设置Android Studio
- 第一个android应用项目
- 如何运行您的第一个Android应用
您将在本文中学习以下内容:
- 实现MediaPlayer类,并使用其方法(例如暂停,播放和停止)。
- 在我们的项目中使用外部文件(图像,音频等)。
- 构建我们的Music Player Android应用程序的界面。
完成以下所有后续步骤后,我们的应用程序将如下所示:
第1步:打开一个新的android项目
打开Android Studio后,您必须使用带Java语言的Empty Activity创建一个新项目,并为您的项目指定一个唯一的名称,但不要忘记保留第一个字母的大写字母。
- 转到左上角,然后单击File-> New-> New Project ,如以下屏幕截图所示。
- 选择清空活动,如以下屏幕截图所示。
- 给您的项目起个名字,选择Java并使用较低级别的API,以便您的应用程序可以在较旧版本的android手机上运行(我使用的是Api 16:Android 4.1 Jelly Bean)。
步骤2:设计应用程序的用户界面
在此应用中,我们使用了4个组件:- imageView –显示歌曲的给定图像
- 3个按钮:
- 播放按钮播放我们的歌曲
- 暂停按钮以暂停我们的歌曲
- 停止按钮以停止我们的歌曲
(注意:如果我们在按暂停后按播放,则歌曲将在暂停后立即继续播放,但如果在停止后按播放按钮,则歌曲将从头开始播放)
这些组件在以下两种布局上实现:
- 垂直LinearLayout
- 水平LinearLayout
在LinearLayout(垂直)内部,有两个组件:
- imageView组件
- LinearLayout(水平)
这种布局会将我们的应用程序屏幕垂直分为两半。 imageView组件将在上半部分,水平线性布局将在下半部分。水平布局将包含三个按钮(播放,暂停和停止按钮)。这种水平布局将在我们的应用程序屏幕的下半部分将这三个按钮一个接一个地水平对齐。
为了清楚地理解这一点,请仔细阅读以下蓝图和我们应用程序的组件树:在我们的应用程序中,通过添加以下代码行,我为播放,暂停和停止按钮使用了不同的样式:
android:background=”@android:drawable/ic_media_play” for play button
android:background=”@android:drawable/ic_media_pause” for pause button
android:background=”@android:drawable/ic_delete” for stop button在此应用中使用了geeksforgeeks徽标。选择图像,然后将其粘贴到drawable目录中。目录的路径:
project->app->src->main->res->drawable
设置所有组件的ID,并使用按钮添加onClick方法。以下是activity_main.xml文件的XML代码。
第3步:将音乐文件添加到我们的应用中
将mp3文件添加到原始文件夹。您可以通过以下方式到达那里:app-> res-> raw
如果没有原始文件夹,请通过右键单击res目录来创建它,然后:
res-> new-> directory
将新创建的目录命名为raw,然后在此文件夹中添加所有音频文件。不允许在此处拖放文件。您必须复制源文件,然后右键单击原始目录,然后单击粘贴。使用“在资源管理器中显示”(如果使用的是Windows)转到该特定文件。确保新名称包含所有小字母。唯一有效的字符是(az和0-9和_)
步骤4:让我们编写应用程序的功能代码
- 创建一个名为music的MediaPlayer类的对象。它是android包中的内置类。此音乐对象可以使用MediaPlayer类的所有属性:
MediaPlayer music
- 我们将使用create函数将音乐文件添加到这个新创建的对象中:
music = MediaPlayer.create(this, R.raw.sound);
请注意,无需添加.mp3或.wav或您使用的任何文件类型。只需添加文件名即可。 (我将我的文件命名为sound.mp3,因此使用了R.raw.sound)
- MediaPlayer类具有一个名为start的内置函数,我们将使用此函数作为播放按钮。它将开始播放歌曲。
public void playSong(View v){
music.start();
} - 对于暂停按钮,我们将使用内置函数pause 。这将暂停歌曲。
public void pauseSong(View v) {
mp.pause();
} - 对于停止按钮,我们将使用内置的停止函数。此函数还会删除对象(音乐),因此我们创建了一个具有相同名称的新对象。
public void stopSong(View v) {
mp.stop();
}music = MediaPlayer.create(this, R.raw.sound);
注意:音频文件存储在应用程序中,因此请确保添加了小文件
完整的Java代码:MainActivity。 Java文件
package com.example.amusinz; import android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { // Instantiating the MediaPlayer class MediaPlayer music; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Adding the music file to our // newly created object music music = MediaPlayer.create( this, R.raw.sound); } // Plaing the music public void musicplay(View v) { music.start(); } // Pausing the music public void musicpause(View v) { music.pause(); } // Stoping the music public void musicstop(View v) { music.stop(); music = MediaPlayer.create( this, R.raw.sound); } }
第5步:运行我们的应用
单击顶部工具栏上的“运行”按钮以运行我们的代码。
您可以通过两种方式运行您的应用程序:- 使用Android虚拟设备(模拟器)
- 通过使用USB连接手机
您必须在手机中启用开发人员选项,并设置USB调试模式才能运行您的应用程序。
请注意,仿真器消耗大量RAM,因此您的系统应具有足够的内存来启动仿真器,建议使用4GB或更高的内存来提高仿真器的性能。