我在 onCreateResources 方法中加载了声音。
try {
shield = MusicFactory.createMusicFromAsset(this.getMusicManager(), this, "shield.ogg");
} catch (IOException e) {
e.printStackTrace();
}
shield.setVolume(1.0f);
shield.setLooping(true);
当我第一次播放声音时它工作正常,但是,接下来我播放它是否有效似乎是随机的。
我使用 shield.play();
播放声音并使用 shield.stop();
再次停止。
当它不起作用时,我会在日志中看到以下内容。
AudioFlinger could not create track, status: -12
Error creating AudioTrack
最佳答案
播放背景音乐时用Music控制长放,重复.. 播放短音频时使用声音,例如按下按钮或射击等 这是我使用它们的相同代码:
public static void controlBgAudio(boolean play, boolean repeat) {
Music ms = ResourceManager.getInstance().audioBgMusic;
if (play) {
if (ms.isReleased()) {
ms.resume();
} else {
ms.play();
}
} else {
if (ms.isPlaying()) {
ms.pause();
} else {
ms.stop();
}
}
if (repeat) {
ms.setLooping(true);
} else {
ms.setLooping(false);
}
}
public static void controlShootAudio(boolean play, boolean repeat) {
Sound ms = ResourceManager.getInstance().audioShoot;
if (play) {
if (ms.isReleased()) {
ms.resume();
} else {
ms.play();
}
} else {
if (ms.isLoaded()) {
ms.pause();
} else {
ms.stop();
}
}
if (repeat) {
ms.setLooping(true);
} else {
ms.setLooping(false);
}
}
关于android - 引擎声音有时会起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881639/