1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package com.sikey.skvideo.manager;
- import android.content.Context;
- import android.media.MediaPlayer;
- import android.net.Uri;
- import java.io.IOException;
- public class MediaPlayerUtils {
- private MediaPlayer mediaPlayer;
- public void playSound(Context context, int resourceId, boolean isLoop) {
- stopSound();
- // 创建MediaPlayer对象
- mediaPlayer = new MediaPlayer();
- try {
- Uri path = Uri.parse("android.resource://" + context.getPackageName() + "/" + resourceId);
- mediaPlayer.reset();
- // 设置音频文件的数据源
- mediaPlayer.setDataSource(context, path);
- // 设置循环播放
- mediaPlayer.setLooping(isLoop);
- mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
- @Override
- public void onCompletion(MediaPlayer mp) {
- if (!isLoop) {
- stopSound();
- }
- }
- });
- // 准备播放
- mediaPlayer.prepare();
- // 开始播放
- mediaPlayer.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void stopSound() {
- // 释放资源
- if (mediaPlayer!= null) {
- mediaPlayer.release();
- mediaPlayer = null;
- }
- }
- }
|