gpt4 book ai didi

java - 声音适用于 HTC Desire 但不适用于 T-Mobile G1

转载 作者:行者123 更新时间:2023-11-30 11:58:20 26 4
gpt4 key购买 nike

我定义了以下声音类来在我的 Pacman 游戏中播放声音:

public class Sound {

private static boolean sound = true;

private static MediaPlayer eatSound;
private static MediaPlayer shortEatSound;
private static MediaPlayer eatCherry;
private static MediaPlayer eatGhost;
private static MediaPlayer extraLive;
private static MediaPlayer intermission;
private static MediaPlayer openingSound;
private static MediaPlayer pacmanDiesSound;
private static MediaPlayer sirenSound;

public static void initializeOpenSound(Context context) {
openingSound = MediaPlayer.create(context, R.raw.opening_song);
}

public static void initializeSounds(Context context) {
eatSound = MediaPlayer.create(context, R.raw.eating);
shortEatSound = MediaPlayer.create(context, R.raw.eating_short);
eatCherry = MediaPlayer.create(context, R.raw.eating_cherry);
eatGhost = MediaPlayer.create(context, R.raw.eating_ghoasts);
extraLive = MediaPlayer.create(context, R.raw.extra_lives);
intermission = MediaPlayer.create(context, R.raw.intermission);
pacmanDiesSound = MediaPlayer.create(context, R.raw.pac_man_dies);
sirenSound = MediaPlayer.create(context, R.raw.siren);
}

public static int getOpeningSoundDuration() throws SoundInitializationError {
if (openingSound != null) {
return openingSound.getDuration();
} else {
throw new SoundInitializationError("Opening Sound not initialized!");
}
}

public static void playSirenSound() throws SoundInitializationError {
if (isSoundOn()) {
if (sirenSound != null) {
sirenSound.start();
} else {
throw new SoundInitializationError("Siren Sound not initialized!");
}
}
}

public static void playPacmanDiesSound() throws SoundInitializationError {
if (isSoundOn()) {
if (pacmanDiesSound != null) {
pacmanDiesSound.start();
} else {
throw new SoundInitializationError("Pacman Dies Sound not initialized!");
}
}
}

public static void playOpeningSound() throws SoundInitializationError {
if (isSoundOn()) {
if (openingSound != null) {
openingSound.setLooping(true);
openingSound.start();
} else {
throw new SoundInitializationError("Opening Sound not initialized!");
}
}
}

public static void playIntermissionSound() throws SoundInitializationError {
if (isSoundOn()) {
if (intermission != null) {
intermission.start();
} else {
throw new SoundInitializationError("Intermission Sound not initialized!");
}
}
}

public static void playExtraLiveSound() throws SoundInitializationError {
if (isSoundOn()) {
if (extraLive != null) {
extraLive.start();
} else {
throw new SoundInitializationError("Extra Live Sound not initialized!");
}
}
}

public static void playEatSound() throws SoundInitializationError {
if (isSoundOn()) {
if (eatSound != null) {
eatSound.start();
} else {
throw new SoundInitializationError("Eat Sound not initialized!");
}
}
}

public static void playShortEatSound() throws SoundInitializationError {
if (isSoundOn()) {
if (shortEatSound != null) {
shortEatSound.start();
} else {
throw new SoundInitializationError("Short Eat Sound not initialized!");
}
}
}

public static void playEatCherrySound() throws SoundInitializationError {
if (isSoundOn()) {
if (eatCherry != null) {
eatCherry.start();
} else {
throw new SoundInitializationError("Eat Cherry Sound not initialized!");
}
}
}

public static void playEatGhostSound() throws SoundInitializationError {
if (isSoundOn()) {
if (eatGhost != null) {
eatGhost.start();
} else {
throw new SoundInitializationError("Eat Ghost Sound not initialized!");
}
}
}

public static void stopOpeningSound() throws SoundInitializationError {
if (openingSound != null) {
openingSound.stop();
} else {
throw new SoundInitializationError("Opening Sound not initialized!");
}
}

public static boolean isSoundOn() {
return sound;
}

public static void setSoundOn(boolean b) {
sound = b;
}

}

这在我的 HTC Desire 上运行良好,但在我的 T-Mobile G1 上,只能播放 OpeningSound。其他声音文件不播放,但也不异常(exception)。两种设备都使用 2.1。

有什么提示吗?

最佳答案

短音只用SoundPool

关于java - 声音适用于 HTC Desire 但不适用于 T-Mobile G1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com