Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android在随机的时间内播放音乐_Android - Fatal编程技术网

Android在随机的时间内播放音乐

Android在随机的时间内播放音乐,android,Android,现在我可以用android播放音乐了。但是我想在2到8秒之间随机播放这个声音。我如何随机播放它,例如第一次播放2秒,下一次播放7秒等等?有人能帮我吗?浏览以下链接: 你会有一个想法。浏览以下链接: 你会有主意的。android中的声音播放方式如下: AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); int mSoundID = mSoundPool.load(this, R.raw.

现在我可以用android播放音乐了。但是我想在2到8秒之间随机播放这个声音。我如何随机播放它,例如第一次播放2秒,下一次播放7秒等等?有人能帮我吗?

浏览以下链接:


你会有一个想法。

浏览以下链接:


你会有主意的。

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时生成一个随机数。然后播放这首歌,并用随机数设置计时器。当计时器达到该数字时,您停止播放歌曲。可以给我一个示例代码吗?您可以在用户每次单击播放时生成一个随机数。然后播放这首歌,并用随机数设置计时器。当计时器达到这个数字时,你就停止了这首歌。能给我一个示例代码吗?