MediaPlayer播放音频
1. activity布局
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
2. AndroidManifest配置权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3. Activity代码
package com.example.myaudio;
import androidx.appcompat.app.AppCompatActivity;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import java.io.IOException;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button;
private MediaPlayer mediaPlayer;
private Uri uri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button.setOnClickListener(this);
mediaPlayer = new MediaPlayer();
}
@Override
public void onClick(View v) {
//根据文件路径播放
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
String Audo_path = Environment.getExternalStorageDirectory() + "/1.mp3";
uri = Uri.parse(Audo_path);
}
AudioAttributes attributes = new AudioAttributes.Builder()
.setLegacyStreamType(AudioManager.STREAM_MUSIC)
.build();
mediaPlayer.setAudioAttributes(attributes);
try {
mediaPlayer.setDataSource(getApplicationContext(),uri);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 主要代码
4.1 设置音频路径
//根据文件路径播放
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
String Audo_path = Environment.getExternalStorageDirectory() + "/1.mp3";
uri = Uri.parse(Audo_path);
}
4.2 MediaPlayer音频设置
AudioAttributes attributes = new AudioAttributes.Builder()
.setLegacyStreamType(AudioManager.STREAM_MUSIC)
.build();
mediaPlayer.setAudioAttributes(attributes);
参考链接:
https://www.cnblogs.com/HDK2016/p/8043247.html
https://developer.android.google.cn/guide/topics/media/mediaplayer
https://www.runoob.com/w3cnote/android-tutorial-mediaplayer.html