SoundPool播放短声音程序退出的问题

宝龙哥 2012-03-01 10:24:03

package your.Play.namespace;

import android.app.Activity;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;

public class PlayActivity extends Activity {

//public SoundPool soundPool;
private SoundPool soundPool;

private int fire1; //按钮点击音
private int fire2; //翻页音
private int fire3; //魔法音

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

onSoundPool_Create();
fire1 = onSoundPool_Load( R.raw.aa );
fire2 = onSoundPool_Load( R.raw.bb );
fire3 = onSoundPool_Load( R.raw.cc );

}
public void onClick_button1(){
//onSoundPool_play(fire1);//播放指定音乐
//onSoundPool_play(fire2);//播放指定音乐
onSoundPool_play(fire3);//播放指定音乐
}
public void onSoundPool_Create(){
//if(soundPool!=null){
//soundPool.stop();
//soundPool.pause(1);//暂停SoundPool的声音
//soundPool.release();
//}
soundPool = new SoundPool(
//指定支持多少个文件
4
,
//指定声音类型
AudioManager.STREAM_MUSIC //音乐音量
//AudioManager.STREAM_SYSTEM //系统音量
//AudioManager.STREAM_RING //铃声音量
//AudioManager.STREAM_VOICE_CALL //通话音量
//AudioManager.STREAM_ALARM //提示声音音量
,
//声音品质
100
);
}
public int onSoundPool_Load(int T_CBGW){
//if(soundPool==null){
//onSoundPool_Create();
//}
return soundPool.load(
this
,
T_CBGW //要载入的文件,一般是先建一个单独的音乐文件目录,将音乐文件放入其中
,
0 //优先级
);
}
public boolean onSoundPool_play(int tager)//播放指定音乐
{
//if(soundPool==null){
//return false;
//}
soundPool.play(
tager
,
//左音量
1.0f
,
//右音量
1.0f
,
//表示优先级
0
,
//循环次数
0
,
//速率,最低0.5最高为2,1代表正常速度
1.0f
);
return true;
}



}


这段SoundPool的代码放在单独的按钮事件中能正常播放,但分成几个独立的函数后以播放界面就退出了,这个怎么解决?
...全文
135 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧