[英]how to play audio file in android
我的 android 手机中有一个 mp3 文件,让它在我的 sdcard 某处是一个 xyz.mp3。 如何通过我的应用程序播放它?
@Niranjan,如果您正在使用res / raw文件夹中的原始文件,即读取存储在项目中的文件,则可以使用:
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");
请参阅此相关问题: Android上原始文件夹和sdcard之间的MediaPlayer问题
public 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();
}
}
如果音频在本地原始资源中:
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start(); // no need to call prepare(); create() does that for you
要从系统本地可用的URI播放:
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
来自https://stackoverflow.com/users/726863/lalit-poptani的重播很棒,它第一次工作,但因为我曾经拥有文件的完整路径,所以我是这样做的
public void audioPlayer(String path){
//set up MediaPlayer
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(path );
mp.prepare();
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
归功于http://www.helloandroid.com/tutorials/how-play-video-and-audio-android
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.