现在我可以在android中播放音乐了。但是我想在2到8秒的随机时间量内播放这个声音,我可以随机播放它吗,例如,第一次播放2秒,下一次播放7秒,依此类推?有人能帮我吗?
发布于 2012-05-02 20:08:57
浏览以下链接:
Random number Generation
Media Player
Timer
你将会有一个想法。
发布于 2012-05-02 20:24:14
android中的声音是这样播放的:
AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
int mSoundID = mSoundPool.load(this, R.raw.sound1, 1);
float lActualVolume = (float) audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC);
float lMaxVolume = (float) audioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float lVolume = lActualVolume / lMaxVolume;
// Is the sound loaded already?
if (mSoundIsLoaded) {
mSoundPool.play(mSoundID, lVolume, lVolume, 1, 0, 1f);我认为你已经得到了很多帮助来弄清楚随机数部分。您必须将声音文件放在您的assets/raw目录中。
编辑:我忘记提到mSoundIsLoaded参数是从哪里来的。我设置它时,我的声音已经加载。我在我的onCreate方法中做到了这一点。加载声音时,我设置了一个名为mSoundIsLoaded的布尔值字段。我这样做是为了防止NullPointerExceptions在播放声音时,声音的加载如下所示:
mSoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
mSoundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
mSoundIsLoaded = true;
}
});
mSoundID = mSoundPool.load(this, R.raw.sound1, 1);https://stackoverflow.com/questions/10413017
复制相似问题