Android在随机的时间内播放音乐
现在我可以用android播放音乐了。但是我想在2到8秒之间随机播放这个声音。我如何随机播放它,例如第一次播放2秒,下一次播放7秒等等?有人能帮我吗?浏览以下链接:Android在随机的时间内播放音乐,android,Android,现在我可以用android播放音乐了。但是我想在2到8秒之间随机播放这个声音。我如何随机播放它,例如第一次播放2秒,下一次播放7秒等等?有人能帮我吗?浏览以下链接: 你会有一个想法。浏览以下链接: 你会有主意的。android中的声音播放方式如下: AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); int mSoundID = mSoundPool.load(this, R.raw.
你会有一个想法。浏览以下链接:
你会有主意的。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的布尔字段。我这样做是为了防止播放声音时出现NullPointerException
声音的加载如下所示:
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);
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的布尔字段。我这样做是为了防止播放声音时出现NullPointerException
声音的加载如下所示:
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);
您可以在用户每次单击play时生成一个随机数。然后播放这首歌,并用随机数设置计时器。当计时器达到该数字时,您停止播放歌曲。可以给我一个示例代码吗?您可以在用户每次单击播放时生成一个随机数。然后播放这首歌,并用随机数设置计时器。当计时器达到这个数字时,你就停止了这首歌。能给我一个示例代码吗?