MediaPlayer播放音频文件

发布于 2022-06-05 23:52:47阅读 1243

播放应用的资源文件

法1. 直接调用create函数实例化一个MediaPlayer对象,播放位于res/raw/test.mp3文件
MediaPlayer  mMediaPlayer = MediaPlayer.create(this, R.raw.test);

法2. test.mp3放在res/raw/目录下,使用setDataSource(Context context, Uri uri)
mp = new MediaPlayer(); 
Uri setDataSourceuri = Uri.parse("android.resource://com.android.sim/"+R.raw.test);
mp.setDataSource(this, uri);

说明:此种方法是通过res转换成uri然后调用setDataSource()方法,需要注意格式Uri.parse("android.resource://[应用程序包名Application package name]/"+R.raw.播放文件名);
例子中的包名为com.android.sim,播放文件名为:test;特别注意包名后的"/"。

法3. test.mp3文件放在assets目录下,使用setDataSource(FileDescriptor fd, long offset, long length)
AssetManager assetMg = this.getApplicationContext().getAssets();
AssetFileDescriptor fileDescriptor = assetMg.openFd("test.mp3");  
mp.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getLength()); 

播放存储设备的资源文件

MediaPlayer mediaPlayer = new MediaPlayer();  
mediaPlayer.setDataSource("/mnt/sdcard/test.mp3");

播放远程的资源文件

Uri uri = Uri.parse("http://**");  
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setDataSource(Context, uri);  

来源:https://blog.csdn.net/yanlinembed/article/details/51887642

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验