安卓播放音乐代码
时间: 2023-08-06 21:12:57 浏览: 52
以下是一个简单的 Android 播放音乐代码示例:
1. 在 xml 布局文件中添加一个 Button 和一个 TextView:
```xml
<Button
android:id="@+id/button_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play"/>
<TextView
android:id="@+id/text_view_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Status: "/>
```
2. 在 Activity 中设置点击事件处理程序并实现 MediaPlayer.OnCompletionListener 接口:
```java
public class MainActivity extends AppCompatActivity implements MediaPlayer.OnCompletionListener {
private MediaPlayer mediaPlayer;
private Button buttonPlay;
private TextView textViewStatus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonPlay = findViewById(R.id.button_play);
textViewStatus = findViewById(R.id.text_view_status);
buttonPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.song);
mediaPlayer.setOnCompletionListener(MainActivity.this);
}
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
buttonPlay.setText("Play");
textViewStatus.setText("Status: Paused");
} else {
mediaPlayer.start();
buttonPlay.setText("Pause");
textViewStatus.setText("Status: Playing");
}
}
});
}
@Override
public void onCompletion(MediaPlayer mp) {
buttonPlay.setText("Play");
textViewStatus.setText("Status: Stopped");
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}
```
3. 将音频文件 song.mp3 放置在 res/raw 目录下。
在上面的代码中,我们使用 MediaPlayer 类来播放音频。当用户点击 Play 按钮时,我们检查 MediaPlayer 对象是否已经存在。如果不存在,我们使用 MediaPlayer.create() 方法创建一个 MediaPlayer 对象并将音频文件 song.mp3 与之关联。我们还设置了一个 OnCompletionListener 监听器以便我们可以在音频播放完成后更新按钮文本和状态文本。如果 MediaPlayer 对象存在并且正在播放,我们调用 pause() 方法暂停音频播放,否则我们调用 start() 方法开始播放音频。最后,我们在 onDestroy() 方法中释放 MediaPlayer 对象以释放资源。
最后,记得在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)