我正在开发一个Android游戏应用程序。我设计了所有视图并实现了所有功能。现在在最后一个屏幕中我必须在android中播放声音。任何人都可以告诉我如何追求它吗?
答案 0 :(得分:28)
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.AudioFile1);
mp.start();
然后你从mp获得所有启动/停止/重置/暂停/释放方法。
答案 1 :(得分:10)
只需将声音文件放在/res/raw
中(创建文件夹后),然后使用MediaPlayer初始化,启动然后停止播放声音。可以找到MediaPlayer文档here。
HTH,
斯利拉姆。
答案 2 :(得分:8)
我建议SoundPool在android中无缝播放,因为 mediaPlayer首先将整个声音数据加载到内存而不是播放,因此当我们频繁切换声音时会产生一些延迟。
使用小尺寸声音文件,SoundPool是一个更好的选择,并使用.ogg媒体文件产生最佳效果。
SoundPool soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
soundID = soundPool.load(this, R.raw.sound, 1);
if (loaded) {
soundPool.play(soundID, volume, volume, 1, 0, 1f);
}
答案 3 :(得分:6)
从Android开发者页面:http://developer.android.com/guide/topics/media/index.html
也许是从原始资源中玩耍 最常见的事情是 在内播放媒体(特别是声音) 你自己的应用程序这样做是 易:
放声音(或其他媒体 资源)文件到res / raw文件夹中 您的项目,Eclipse 插件(或aapt)会找到并制作 它可以成为一种资源 从你的R类引用创建一个 MediaPlayer的实例,引用 那资源使用 MediaPlayer.create,然后调用 实例上的start():
MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
mp.start();
要停止播放,请调用stop()。 如果你想稍后重播 媒体,然后你必须重置()和 prepare()MediaPlayer对象 再次调用start()之前。 (create()调用prepare()第一个 时间。)
要暂停播放,请调用暂停()。 从暂停的位置继续播放 用start()。
从文件或流播放您可以 播放媒体文件 文件系统或网址:
创建MediaPlayer的实例 使用新的调用setDataSource() 包含路径的字符串(本地 文件系统或URL)到你的文件 想玩第一次准备()然后 实例上的start():
喜欢这个
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
答案 4 :(得分:4)
通过使用Media Player,您可以实现此目的。
这是步骤::
1.-在“debug”文件夹中创建一个名为“raw”的新文件夹。要在“debug”文件夹>上正确创建它新>目录>而在名称上它是“原始的”:
要添加文件,只需将.wav / .mp3文件拖到“raw”文件夹即可。
2.-导入媒体播放器:
import android.media.MediaPlayer;
3.-声明MediaPlayer全局变量:
public MediaPlayer mp1;
4.-在onCreate方法中,设置相应的声音:
mp1 = MediaPlayer.create(MainActivity.this, raw.my_sound_name);
5.-最后,你可以使用方法......
mp1.start()/ mp1.stop()/ mp1.pause()