如何在android中播放音频文件
答
只需您使用MediaPlayer
即可播放音频文件。退房this nice example用于播放音频:
public void audioPlayer(String path, String fileName){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(path + File.separator + fileName);
mp.prepare();
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
答
@Niranjan,如果使用的是从资源/原材料文件夹,即读取存储在项目中的文件的原始文件,我们可以使用:
mediaplayer.setDataSource(context, Uri.parse("android.resource://urpackagename/res/raw/urmp3name");
如果你不得不从SD卡的使用方法:
MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory();
mediaPlayer.setDataSource(path + "urmp3filename");
请参阅此相关的问题:MediaPlayer issue between raw folder and sdcard on android
答
enter code herepublic class MainActivity extends Activity implements OnClickListener {
Button play;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
play=(Button)findViewById(R.id.button1);
play.setOnClickListener(this);
}
@Override
public void onClick(View arg0)
{
mp=MediaPlayer.create(getApplicationContext(),R.raw.song);// the song is a filename which i have pasted inside a folder **raw** created under the **res** folder.//
mp.start();
}
@Override
protected void onDestroy() {
mp.release();
super.onDestroy();
}
}
你也可以把'xyz.mp3'成'RES /生/'然后通过'R.raw.xyz'引用它。然而,你有两个选择:'MediaPlayer'和'SoundPool'。为了高效的内存管理,你应该使用一个库来处理这些类:https://github.com/delight-im/Android-Audio – caw