要播放MediaStore.Audio.Media条目,可以使用MediaPlayer类来实现。下面是一个示例代码:
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.media.MediaPlayer;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
public class MediaPlayerHelper {
private static final String TAG = "MediaPlayerHelper";
private Context mContext;
private MediaPlayer mMediaPlayer;
public MediaPlayerHelper(Context context) {
mContext = context;
mMediaPlayer = new MediaPlayer();
}
public void playAudioFromMediaStore(Uri mediaUri) {
try {
// 设置数据源
mMediaPlayer.setDataSource(mContext, mediaUri);
// 准备和开始播放音频
mMediaPlayer.prepare();
mMediaPlayer.start();
} catch (Exception e) {
Log.e(TAG, "playAudioFromMediaStore: " + e.getMessage());
}
}
public void stopAudio() {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
}
}
public void releaseMediaPlayer() {
mMediaPlayer.release();
mMediaPlayer = null;
}
public Uri getMediaUri(String audioTitle) {
ContentResolver contentResolver = mContext.getContentResolver();
Uri mediaUri = null;
String[] projection = {MediaStore.Audio.Media._ID};
String selection = MediaStore.Audio.Media.TITLE + "=?";
String[] selectionArgs = {audioTitle};
Cursor cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
int columnIndex = cursor.getColumnIndex(MediaStore.Audio.Media._ID);
long mediaId = cursor.getLong(columnIndex);
mediaUri = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, String.valueOf(mediaId));
cursor.close();
}
return mediaUri;
}
}
使用方法:
// 创建MediaPlayerHelper实例
MediaPlayerHelper mediaPlayerHelper = new MediaPlayerHelper(context);
// 获取音频的Uri
Uri mediaUri = mediaPlayerHelper.getMediaUri("audio_title");
// 播放音频
mediaPlayerHelper.playAudioFromMediaStore(mediaUri);
// 停止音频播放
mediaPlayerHelper.stopAudio();
// 释放MediaPlayer资源
mediaPlayerHelper.releaseMediaPlayer();
注意:需要在AndroidManifest.xml文件中添加以下权限:
这是一个简单的示例,你可以根据自己的需求进行修改和扩展。