我在我的 onCreate() 方法中执行以下操作:
mSound = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
soundID = mSound.load(this, R.raw.sample, 1);
streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
然后我希望通过按下按钮来播放声音文件...所以在我的 onClick() 方法中我有:
mSound.play(soundID, streamVolume, streamVolume, 1, 0, 1f);
效果很好……但只有 5 秒钟,然后就停止了……有什么想法吗?谢谢。如果有帮助,我正在 DROID 3 上进行测试。
最佳答案
SoundPool 是为短音频文件创建的,例如通知文件...要播放长音频文件,只需使用 - ...
private MediaPlayer mp_file;
...........
mp_file = MediaPlayer.create(getApplicationContext(), R.raw.big);
mp_file.start();
关于android - 音频流在 5 秒后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946698/