大家好,哪位能告诉我声音的问题如何解决,谢谢
bdwer 2005-03-24 10:07:13 1,我在NOKIA上的游戏开始是没次用到音乐就导入音乐文件,然后播放,很正常。就是有些慢,所以我就把游戏的声音一次全部导入,但是这次就出问题了,开始是有的音乐一直再播放不停(但是我设置它仅播一次),后来又出现没声音的情况。最后也不知怎么就有声音了,但是播1,2,3这样的可以,但是播放1,1,2,3,3这种时前后音乐不同时可以播放,但是1,1这种就第一次出声但是第二个就不播放了,用的是:com.nokia.mid.sound.Sound
代码如下: void sound(byte s)
{
if (isEffect || popup || GAME_MODE == 0 || GAME_MODE == 1 || GAME_MODE == 6 || GAME_MODE == 7 || GAME_MODE == 11 || GAME_MODE == 12 || GAME_MODE == 13 || GAME_MODE == 90 || GAME_MODE == 91 || GAME_MODE == 92 || GAME_MODE == 98)
{
}
else
{
if (s != 11)
{
return;
}
}
try {
/*if (player[s] != null)
{
// changeVolume(vol);
player[s].stop();
player[s].close();
player[s] = null;
}*/
if (snd)
{
if(s==14 ||s==1 ||s==3||s==11)
player[s].setLoopCount(-1);
else
player[s].setLoopCount(1);
player[s].start();
//System.out.println("music "+s+" is start");
tempsnd = s;
VolumeControl vc= (VolumeControl)player[s].getControl("VolumeControl");
if (vc != null) {
vc.setLevel(vol);
}
}
} catch (Exception ex) {}
}
//1:start 2:game 3:game over
void loadSound(int type){
try{
InputStream is = null;
//System.out.println("num : "+num);
player=new Player[15];
if (type==1){ //s1,5,6,14
//System.out.println("start: "+start);
is=getClass().getResourceAsStream("/s"+1+".mid");
player[1] = Manager.createPlayer(is, "audio/midi");
player[1].realize();
is=getClass().getResourceAsStream("/s"+5+".mid");
player[5] = Manager.createPlayer(is, "audio/midi");
player[5].realize();
is=getClass().getResourceAsStream("/s"+6+".mid");
player[6] = Manager.createPlayer(is, "audio/midi");
player[6].realize();
is=getClass().getResourceAsStream("/s"+14+".mid");
player[14] = Manager.createPlayer(is, "audio/midi");
player[14].realize();
for (int i=2;i<5 ;i++ )
{
player[i]=null;
}
for (int i=7;i<10 ;i++ )
{
player[i]= null;
}
for (int i=11;i<14 ;i++ )
{
player[i]= null;
}
//is.close();
}else if (type==2){ //s2
is=getClass().getResourceAsStream("/s"+2+".mid");
player[2] = Manager.createPlayer(is, "audio/midi");
player[2].realize();
player[1]=null;
for (int i=3;i<15 ;i++ )
{
player[i]= null;
}
//is.close();
}else if (type==3){
int a[]={3,4,5,6,7,8,9,11,12,13}; //s3,s4-s9,
for (int i=0;i<10 ;i++ ){
is=getClass().getResourceAsStream("/s"+a[i]+".mid");
//System.out.println("load"+a[i]);
int j =a[i];
player[j] = Manager.createPlayer(is, "audio/midi");
player[j].realize();
//is.close();
}
player[1]= null;
player[2]= null;
//player[14]= null;
}
//is.close();
is=null;
}
catch (Exception e){
//System.out.println("ex");
}
}
请问哪位能告诉我声音播放的详细过程,谢谢