Android-播放音频文件

时间:2022-12-08 03:56:06

下面分享一个Android播放mp3文件的例子。

运行界面:

Android-播放音频文件

实现步骤:

1)在res/layout.xml 文件中添加三个按钮,设置相应属性。

<?xml version="1.0" encoding="utf-8"?>
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.victor.a1000phone.day23_home_demo1_musicplayer.MainActivity">

<Button
android:onClick="onClick"
android:layout_marginTop="100dp"
android:id="@+id/btn_play"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play" />
<Button
android:onClick="onClick"
android:id="@+id/btn_pause"
android:layout_centerHorizontal="true"
android:layout_below="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pause" />
<Button
android:onClick="onClick"
android:id="@+id/btn_stop"
android:layout_centerHorizontal="true"
android:layout_below="@+id/btn_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop" />
</RelativeLayout>

2)在 MainActivity.class 里面执行相应操作。

import android.media.MediaPlayer;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import java.io.File;
import java.io.IOException;

/*
* 实现音乐的播放
* */
public class MainActivity extends AppCompatActivity {

private MediaPlayer mediaPlayer = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化MediaPlayer
initMediaPlayer();
}

private void initMediaPlayer() {

//获取mp3文件的路径
File file = new File(Environment.getExternalStorageDirectory(),"I'm_Not_The_Only_One-Sam_Smith.mp3");
try {
mediaPlayer.setDataSource(file.getPath()); //为播放器设置mp3文件的路径
mediaPlayer.prepare(); //做好准备
} catch (IOException e) {
e.printStackTrace();
}
}

public void onClick(View view)
{
switch(view.getId())
{
//播放按钮单击事件
case R.id.btn_play:
if(!mediaPlayer.isPlaying())
{
mediaPlayer.start();
}
break;
//暂停按钮单击事件
case R.id.btn_pause:
if(mediaPlayer.isPlaying())
{
mediaPlayer.pause();
}
break;
//停止按钮单击事件
case R.id.btn_stop:
if(mediaPlayer.isPlaying())
{
mediaPlayer.reset();
initMediaPlayer();
}
break;
default:
break;
}
}

//注销
@Override
protected void onDestroy() {
super.onDestroy();
if(mediaPlayer != null)
{
mediaPlayer.stop();
mediaPlayer.release();
}
}

}

3)为 MediaPlayer 设置音频文件。

如果你是使用模拟器的话,就把音频文件拖入到sdcard里。

Android-播放音频文件

Android-播放音频文件

如果你使用的是真机,直接把mp3文件放到SD卡的根目录。