Android-为我的字母表应用程序添加声音
我一直在尝试为我的alphabet android应用程序添加声音,但似乎没有成功。下面是我的代码Android-为我的字母表应用程序添加声音,android,Android,我一直在尝试为我的alphabet android应用程序添加声音,但似乎没有成功。下面是我的代码 public class Sound extends Activity implements OnCompletionListener { /** Called when the activity is first created. */ private ImageView b; private ImageView t; private ImageView
public class Sound extends Activity implements OnCompletionListener {
/** Called when the activity is first created. */
private ImageView b;
private ImageView t;
private ImageView j;
private MediaPlayer mp;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.alphabet);
b=(ImageView)findViewById(R.drawable.b);
t=(ImageView)findViewById(R.drawable.t);
j=(ImageView)findViewById(R.drawable.j);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
b();
}
});
setup();
t.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
t();
}
});
setup2();
j.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
j();
}
});
setup3();
}
public void onCompletion(MediaPlayer mp) {
stop();
}
private void stop() {
mp.stop();
}
private void b() {
mp.stop();
loadClip();
mp.start();
b.setEnabled(true);
}
private void t() {
mp.stop();
loadClip2();
mp.start();
t.setEnabled(true);
}
private void j() {
mp.stop();
loadClip3();
mp.start();
j.setEnabled(true);
}
private void loadClip() {
try {
mp=MediaPlayer.create(this, R.raw.b);
mp.setOnCompletionListener(this);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void loadClip2() {
try {
mp=MediaPlayer.create(this, R.raw.t);
mp.setOnCompletionListener(this);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void loadClip3() {
try {
mp=MediaPlayer.create(this, R.raw.j);
mp.setOnCompletionListener(this);
}
catch (Throwable t) {
goBlooey(t);
}
}
private void setup() {
loadClip();
b.setEnabled(true);
}
private void setup2() {
loadClip2();
t.setEnabled(true);
}
private void setup3() {
loadClip3();
j.setEnabled(true);
}
private void goBlooey(Throwable t) {
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder
.setTitle("Exception!")
.setMessage(t.toString())
.setPositiveButton("OK", null)
.show();
}
}
请您看一下我的代码,让我知道在哪里或缺少什么。
所有图像都在可绘制中,所有剪辑都在原始中。
问候。快速浏览一下您的代码,我想说您的mp不存在是为了在第一次运行时加载另一个剪辑之前停止它 顶推 私有媒体播放器mp=null
然后在每一行上都写着mp.stop();将其更改为if(mp!=null)mp.stop() 请更具体一点。我已经创建了一个字母表应用程序,我想当图像被点击时给出字母表的声音。我已经创建了上面的代码,但是当我单击图像时,没有声音。我知道很多,但是尝试通过调试或推理来定位实际问题。不要发布整个课程。仍然不起作用。你建议的我都做了。仍然没有声音。声音文件格式是mp3还是wav?测试设备上的声音是否已打开?您是否从“goBlooey”功能收到任何消息?logcat中是否出现任何东西?该应用程序分为两个组件,一个用于播放带有声音的动画(该部分工作正常),另一个是手动的,以便用户单击图像时听到声音(发音)。日志上什么也没有。