新人送分 android java代码结构有关问题
新人送分 android java代码结构问题。
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
mp.start();
// 音乐播放完毕的事件处理
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
// 循环播放
try {
mp.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
以上是一个Service的onStart方法。
音乐播放完毕的监听 这段代码,这种结构看不太懂啊。而且后面又跟了一个代码块。
1.()里面new 了一个OnCompletionListener方法吗?肯定不对啊~~
2.代码块里的onCompletion是属于重写吗?onCompletion是属于哪里的呢?
请详解 谢谢
------解决方案--------------------
new MediaPlayer.OnCompletionListener()
是一个MediaPlayer的接口,在每次MediaPlayer播放的音频结束时调用
onCompletion()方法,onCompletion()方法属于OnCompletionListener()
接口的方法,
也就是当你播放一首歌结束时该方法会被调用
至于你说的里面new 了一个OnCompletionListener方法吗?肯定不对啊~~
那是匿名内部类,Java很多地方用到这个
可以看看http://blog.csdn.net/wangdong20/article/details/8577273
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
mp.start();
// 音乐播放完毕的事件处理
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
// 循环播放
try {
mp.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
以上是一个Service的onStart方法。
音乐播放完毕的监听 这段代码,这种结构看不太懂啊。而且后面又跟了一个代码块。
1.()里面new 了一个OnCompletionListener方法吗?肯定不对啊~~
2.代码块里的onCompletion是属于重写吗?onCompletion是属于哪里的呢?
请详解 谢谢
------解决方案--------------------
new MediaPlayer.OnCompletionListener()
是一个MediaPlayer的接口,在每次MediaPlayer播放的音频结束时调用
onCompletion()方法,onCompletion()方法属于OnCompletionListener()
接口的方法,
也就是当你播放一首歌结束时该方法会被调用
至于你说的里面new 了一个OnCompletionListener方法吗?肯定不对啊~~
那是匿名内部类,Java很多地方用到这个
可以看看http://blog.csdn.net/wangdong20/article/details/8577273