如何在android中播放音频文件

问题描述:

我在我的android手机中有一个mp3文件,让它是我的SD卡中的某个xyz.mp3文件。 我想通过我的应用程序播放它。 请帮我,我不知道它。如何在android中播放音频文件

+0

你也可以把'xyz.mp3'成'RES /生/'然后通过'R.raw.xyz'引用它。然而,你有两个选择:'MediaPlayer'和'SoundPool'。为了高效的内存管理,你应该使用一个库来处理这些类:https://github.com/delight-im/Android-Audio – caw

只需您使用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(); 
    } 
} 
+0

thanx ..但它只是一个代码什么关于GUI .. ??用于GUI的 –

+7

您必须亲自去寻找图像和全部布局。 –

+62

“怎么样的GUI”大声笑 – erdomester

@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

+0

如果你让我知道为什么-1,我会学习上述答案有什么问题吗? – Suv

+1

可能-1是因为你发布了对原始问题的答案(即如何播放音频文件);如果你想回复Niranjan的评论,你应该自己添加评论,在Lalit的回答下 – ocramot

+0

嗯......他们应该告诉我,在评论中,我会改变它......反正, 谢谢你让我知道........ – Suv

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(); 
} 

}