如何识别哪个MP3文件在MediaPlayer.OnCompletionListener中结束?

在我的ativity的onCreate()中,我设置了一个MediaPlayer.OnCompletionListener,然后播放一个MP3文件:

MediaPlayer p = MediaPlayer.create(this, R.raw.intro); p.setOnCompletionListener(this); p.start(); 

而当玩完时,我只是在这个事件中处理:

  public void onCompletion(MediaPlayer mp) { // handle completion } 

所有漂亮和花花公子,但现在我想播放两个不同的MP3文件,并根据播放的文件处理完成不同

有没有办法从MediaPlayer参数告诉哪个片断结束?

Solutions Collecting From Web of "如何识别哪个MP3文件在MediaPlayer.OnCompletionListener中结束?"

callbackpublic void onCompletion(MediaPlayer mp)为您提供对MediaPlayer的引用。

 public void onCompletion(MediaPlayer mp) { if (mp.equals(p){ //do action for media player p } else if (mp.equals(q)){ //do action for media player q } } 

OnSetCompletionListener触发标识哪个MediaPlayer完成。 对于mp3文件,您的数据模型应该被表示为MediaPlayer对象列表(可以从MediaPlayer的子类创build对象),它应该知道他们正在播放或已经播放的mp3文件。 例如见http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/关于模型创build一个类从MediaPlayerinheritance。 在那个新的类保持mp3文件的名称 – 像“FN”。 那么p.fn给你的MP3文件