Java-Android Soundpool无法播放声音

Java-Android Soundpool无法播放声音,第1张

概述我在使用SoundPool类播放多个声音效果时遇到麻烦.基本上,我正在制作一个实时游戏,其中涉及用户点击屏幕上的一堆对象.每当玩家触摸物体时,我都需要播放声音.因此,我转向了SoundPool类.下面是我的代码:privateSoundPoolmSoundPool;privateintmSoundId;protectedvoidonCrea

我在使用SoundPool类播放多个声音效果时遇到麻烦.基本上,我正在制作一个实时游戏,其中涉及用户点击屏幕上的一堆对象.每当玩家触摸物体时,我都需要播放声音.因此,我转向了SoundPool类.下面是我的代码:

private SoundPool mSoundPool;private int mSoundID;protected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    PreferencesManager.getInstance(this);    setContentVIEw(R.layout.arcademode);    initialize();}private voID initialize() {    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);    mSoundPool = new SoundPool(mBalloonPopCount, R.raw.pop, 0);    mSoundID = mSoundPool.load(this, R.raw.pop, 1);}private voID playSound() {    float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);    float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);    float volume = actualVolume / maxVolume;    mSoundPool.play(mSoundID, volume, volume, 1, 0, 1f);}

现在,无论何时调用playSound()方法,我都听不到任何声音.当我查看LogCat时,看到以下几行:

08-14 19:48:50.117: ERROR/audioflinger(2613): invalID stream type08-14 19:48:50.117: ERROR/AudioTrack(15611): audioflinger Could not create track, status: -2208-14 19:48:50.117: ERROR/SoundPool(15611): Error creating AudioTrack

有问题的音频文件是.wav文件.我也尝试过.ogg和.mp3文件,它们也不起作用.声音文件很小(.wav文件甚至不占用60KB),所以大小不是问题…

解决方法:

mSoundPool = new SoundPool(mBalloonPopCount, R.raw.pop, 0);

需要是

mSoundPool = new SoundPool(mBalloonPopCount, AudioManager.STREAM_MUSIC, 0);

总结

以上是内存溢出为你收集整理的Java-Android Soundpool无法播放声音全部内容,希望文章能够帮你解决Java-Android Soundpool无法播放声音所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1070219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存