在android应用程序中实现声音
我正在用android开发一个游戏应用程序。我设计了所有视图并实现了所有功能。现在在最后一个屏幕中,我必须在android中播放声音。有人能告诉我如何使用它吗?只需将声音文件放入在android应用程序中实现声音,android,audio,Android,Audio,我正在用android开发一个游戏应用程序。我设计了所有视图并实现了所有功能。现在在最后一个屏幕中,我必须在android中播放声音。有人能告诉我如何使用它吗?只需将声音文件放入/res/raw(创建文件夹后),然后使用MediaPlayer初始化、启动并停止播放声音。可以找到MediaPlayer文档 HTH, 斯利拉姆 然后您可以从mp获得所有的启动/停止/重置/暂停/释放方法 来自Android开发者页面: 也许是从一个原始资源开始玩 最常见的事情是 播放媒体(尤其是声音) 您自己的应用程
/res/raw
(创建文件夹后),然后使用MediaPlayer初始化、启动并停止播放声音。可以找到MediaPlayer文档
HTH,斯利拉姆
然后您可以从mp获得所有的启动/停止/重置/暂停/释放方法 来自Android开发者页面: 也许是从一个原始资源开始玩 最常见的事情是 播放媒体(尤其是声音) 您自己的应用程序。做这件事是件好事 简单: 播放声音(或其他媒体) 资源)文件保存到res/raw文件夹中 在您的项目中,Eclipse 插件(或aapt)将找到它并生成 将其转换为可以 从R类引用创建一个 MediaPlayer的实例,引用 资源利用 MediaPlayer.create,然后调用 实例上的start(): mp.start() 要停止播放,请调用stop()。 如果你想稍后重播 介质,然后必须重置()和 准备()MediaPlayer对象 在再次调用start()之前。 (create()首先调用prepare() 时间。) 要暂停播放,请调用pause()。 从暂停的位置恢复播放 使用start() 从文件或流播放,您可以 从中播放媒体文件 文件系统或web URL: 创建MediaPlayer的实例 将新调用setDataSource()与 包含路径(本地)的字符串 文件系统或URL)中的文件 想先玩吗?然后准备 实例上的start(): 像这样
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
通过使用媒体播放器,您可以实现这一点 步骤如下: 1.-在“调试”文件夹内创建一个名为“原始”的新文件夹。要在“调试”文件夹>新建>目录>上右键单击并将其命名为“原始”,请执行以下操作: 要添加文件,只需将.wav/.mp3文件拖动到“raw”文件夹 2.-导入媒体播放器: 导入android.media.MediaPlayer 3.-声明MediaPlayer全局变量: 4.-在onCreate方法中,指定相应的声音:
mp1 = MediaPlayer.create(MainActivity.this, raw.my_sound_name);
-最后,你可以使用
mp1.start()/mp1.stop()/mp1.pause()我建议使用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);
}
我应该添加MediaPlayer mp=MediaPlayer.create(getApplicationContext(),R.raw.AudioFile1);mp.start();在“播放”按钮上单击??yosh???提前感谢TusharWell,点击按钮时需要mp.start()。您可以提前申报的所有其他内容。你可能不想真正检查:D只准备文件,像Sriram写的那样放入/res/raw,包括“导入android.media.MediaPlayer”;它应该可以工作,在我上面的代码中,AudioFile1是/raw中的文件名(可以是AudioFile1.wav或mp3或任何支持的文件,你只需不添加扩展名)如果您正在播放游戏的短声音片段,请记住使用soundpool。如果在我停止媒体播放器之前声音结束,请注意。他会自动停止吗?
public MediaPlayer mp1;
mp1 = MediaPlayer.create(MainActivity.this, raw.my_sound_name);
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);
}