Android mobile、sdcardのxyz.mp3にMP3ファイルがあります。アプリケーションで再生するにはどうすればよいですか?
単純にMediaPlayer
を使用して、オーディオファイルを再生できます。 この素敵な例 オーディオを再生するためのチェックアウト:
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、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のrawフォルダーと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();
}
}
オーディオがローカルのrawリソースにある場合:
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();