如何在android中播放音频文件
how to play audio file in android
我的 android 手机中有一个 mp3 文件,让它成为我 sdcard 某处的 xyz.mp3。
如何通过我的应用程序播放它?
相关讨论
- 您也可以将 xyz.mp3 放入 res/raw/ 中,然后通过 R.raw.xyz 引用它。但是,您有两个选择:MediaPlayer 和 SoundPool。为了有效的内存管理,您应该使用一个库来处理这些类:github.com/delight-im/Android-Audio
您只需使用 MediaPlayer 即可播放音频文件。看看这个播放音频的好例子:
|
1
2 3 4 5 6 7 8 9 10 11 12 |
public void audioPlayer(String path, String fileName){
//set up MediaPlayer MediaPlayer mp = new MediaPlayer(); try { |
相关讨论
- 对于 GUI 您必须自己动手并借助图像和整个布局。
- "那 GUI 怎么样" LOL
- 如何获取路径和文件名??
- 你不应该使用"/"。您应该始终使用 File.separator 代替。
- 如果有来电,音频会静音吗?
- 我喜欢的那种东西。它适用于第一次测试,并且因为我曾经有一个包含名称的完整路径,所以我以这种方式编写了我的代码 public void audioPlayer(String path){ //set up MediaPlayer MediaPlayer mp = new MediaPlayer();尝试 { mp.setDataSource(path ); mp.prepare(); mp.start(); } 捕捉(异常 e){ e.printStackTrace(); } }
如果音频在本地原始资源中:
|
1
2 |
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start(); // no need to call prepare(); create() does that for you |
从系统本地可用的 URI 播放:
|
1
2 3 4 5 6 |
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setDataSource(getApplicationContext(), myUri); mediaPlayer.prepare(); mediaPlayer.start(); |
@Niranjan,如果您使用的是 res/raw 文件夹中的原始文件,即读取存储在项目中的文件,我们可以使用:
|
1
|
mediaplayer.setDataSource(context, Uri.parse("android.resource://urpackagename/res/raw/urmp3name");
|
如果必须从 SD 卡使用:
|
1
2 3 |
MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory(); mediaPlayer.setDataSource(path +"urmp3filename"); |
请参阅此相关问题:Android 上原始文件夹和 sdcard 之间的 MediaPlayer 问题
相关讨论
- 如果你让我知道为什么-1,我会知道上面的答案有什么问题?
- -1 可能是因为您发布了对原始问题的答案(即如何播放音频文件);如果您想回复 Niranjan 的评论,您应该在 Lalit 的回答下自己添加评论
- 嗯......他们应该在评论中告诉我,我会改变它......无论如何,谢谢你让我知道......
- 我宁愿看到:试试 { mp.setDataSource(context, Uri.parse("android.resource://" context.getPackageName()"/res/raw/urmp3name")); } catch (IOException e) { e.printStackTrace(); }
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
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 } |
来自 https://stackoverflow.com/users/726863/lalit-poptani 的回放很棒,它第一次工作,但由于我以前有文件的完整路径,所以我这样做了
|
1
2 3 4 5 6 7 8 9 10 11 12 |
public void audioPlayer(String path){
//set up MediaPlayer MediaPlayer mp = new MediaPlayer(); try { |
感谢 http://www.helloandroid.com/tutorials/how-play-video-and-audio-android