Android MediaPlayer音乐播放教程

2 下载量 198 浏览量 更新于2024-08-29 收藏 89KB PDF 举报
本示例主要讲解如何在Android平台上使用MediaPlayer类实现简单的音乐播放功能,包括播放、暂停和停止操作。在用户界面中,我们设计了三个按钮,分别对应这三个功能。 在Android应用开发中,MediaPlayer是系统提供的一个强大且灵活的音频和视频播放组件。在这个例子中,我们将学习如何通过它来播放音乐文件。首先,我们需要在布局文件`activity_main.xml`中设置三个按钮。布局文件内容如下: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.cofox.myaudio.MainActivity"> <Button android:id="@+id/btnPlay" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="Play" /> <Button android:id="@+id/btnPause" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="Pause" /> <Button android:id="@+id/btnStop" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAllCaps="false" android:text="Stop" /> </LinearLayout> ``` 在上述代码中,我们创建了一个垂直布局的LinearLayout,包含三个按钮,每个按钮都有自己的ID,分别用于播放(btnPlay)、暂停(btnPause)和停止(btnStop)音乐。 接下来,在`MainActivity.java`中,我们需要初始化MediaPlayer对象,并与布局中的按钮事件关联。首先,声明MediaPlayer变量: ```java private MediaPlayer mediaPlayer; ``` 然后在`onCreate()`方法中初始化MediaPlayer: ```java mediaPlayer = new MediaPlayer(); ``` 接着,我们需要设置按钮的点击监听器。例如,对于播放按钮,我们可以这样设置: ```java Button btnPlay = findViewById(R.id.btnPlay); btnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mediaPlayer.isPlaying()) { // 如果音乐已经在播放,则暂停 mediaPlayer.pause(); } else { // 否则,开始播放音乐 try { mediaPlayer.setDataSource("your_music_file_path"); mediaPlayer.prepare(); mediaPlayer.start(); } catch (IOException e) { e.printStackTrace(); } } } }); ``` 同样地,我们为暂停和停止按钮设置监听器。暂停按钮的点击事件会调用`mediaPlayer.pause()`,而停止按钮的点击事件则需要调用`mediaPlayer.stop()`,同时还需要释放资源,避免内存泄漏: ```java Button btnPause = findViewById(R.id.btnPause); btnPause.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mediaPlayer.pause(); } }); Button btnStop = findViewById(R.id.btnStop); btnStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mediaPlayer.isPlaying()) { mediaPlayer.stop(); } mediaPlayer.release(); // 释放资源 mediaPlayer = null; // 设置为null,防止内存泄漏 } }); ``` 请注意,这里`your_music_file_path`需要替换为你实际音乐文件的路径,可以是本地文件路径或者网络URL。同时,为了确保MediaPlayer正确工作,需要在使用之前调用`setDataSource()`设置数据源,然后调用`prepare()`方法准备播放。 这个简单的示例展示了如何使用Android的MediaPlayer类实现基础的音乐播放功能。理解并实践这些基本操作,开发者可以在此基础上扩展更复杂的功能,如音乐列表循环播放、音量控制等。