我想在下面的程序中添加onCompletionlistener mediaplayer,所以当我的音频完成后,它应该通过Toast通知,texthow应该设置为" &#34 ;. 但它不会损坏我的代码,反之亦然。
package project.kalmas;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class one extends Activity {
MediaPlayer mp=null;
TextView textshow;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.one);
}
public void onclick2(View view)
{
Intent i=new Intent("project.two");
startActivity(i);
}
public void onclick3(View view) {
textshow=(TextView)findViewById(R.id.textshow);
if (mp == null) {
mp = MediaPlayer.create(one.this, R.raw.one);
mp.start();
Toast.makeText(getBaseContext(), "Playing", Toast.LENGTH_SHORT).show();
textshow.setText("Playing...");
textshow.setTextColor(Color.GREEN);
} else {
mp.stop();
mp = null;
Toast.makeText(getBaseContext(), "Stopped", Toast.LENGTH_SHORT).show();
textshow.setText("Stopped...");
textshow.setTextColor(Color.RED);
}
}
}
答案 0 :(得分:0)
通过创建MediaPlayer.OnCompletionListener
侦听器来执行此操作:
MediaPlayer.OnCompletionListener completionListener
= new MediaPlayer.OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
// set TextView text here
// show Toast here
}
};
通过调用MediaPlayer
将其设为setOnCompletionListener
:
mp = MediaPlayer.create(one.this, R.raw.one);
mp.setOnCompletionListener(completionListener);
mp.start();
答案 1 :(得分:0)
这是我编辑过的东西所建议的更新代码。
包project.kalmas;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class one extends Activity {
MediaPlayer mp=null;
TextView textshow;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.one);
}
MediaPlayer.OnCompletionListener completionListener
= new MediaPlayer.OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer arg0) {
textshow.setText(" ");
Toast.makeText(getBaseContext(), "Finished", Toast.LENGTH_SHORT).show();
}
};
public void onclick2(View view)
{
Intent i=new Intent("project.two");
startActivity(i);
}
public void onclick3(View view) {
textshow=(TextView)findViewById(R.id.textshow);
if (mp == null) {
mp = MediaPlayer.create(one.this, R.raw.one);
mp.start();
Toast.makeText(getBaseContext(), "Playing", Toast.LENGTH_SHORT).show();
textshow.setText("Playing...");
textshow.setTextColor(Color.GREEN);
} else {
mp.stop();
mp = null;
Toast.makeText(getBaseContext(), "Stopped", Toast.LENGTH_SHORT).show();
textshow.setText("Stopped...");
textshow.setTextColor(Color.RED);
}
mp = MediaPlayer.create(one.this, R.raw.one);
mp.setOnCompletionListener(completionListener);
mp.start();
}
}