【发布时间】:2017-03-06 10:38:34
【问题描述】:
我有一个录音应用程序,它将通过麦克风录制音频,录制音频后,它会在用户按下播放按钮时播放音频,直到这里它工作得很好,但我想在播放时暂停音频文件用户单击暂停按钮。这是我的java代码。该怎么做?
public class tab1 extends Fragment {
private ViewPager mViewPager;
private Button play,stop,record;
private MediaRecorder myAudioRecorder;
private String outputfile;
public tab1() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootview=inflater.inflate(R.layout.fragment_tab1,container,false);
final ImageButton record=(ImageButton)rootview.findViewById(R.id.record);
final ImageButton stop=(ImageButton) rootview.findViewById(R.id.stop);
final ImageButton play=(ImageButton) rootview.findViewById(R.id.play);
final ImageButton pause=(ImageButton)rootview.findViewById(R.id.pause);
stop.setVisibility(getView().INVISIBLE);
File directorysample=new File(Environment.getExternalStorageDirectory()+separator+"RadioRecords");
directorysample.mkdirs();
String filename = "/recording_" + System.currentTimeMillis() + ".mp3";
final String directory = Environment.getExternalStorageDirectory()+ "/RadioRecords";
outputfile = directory + "/" + filename;
record.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
myAudioRecorder=new MediaRecorder();
myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.DEFAULT);
myAudioRecorder.setOutputFile(outputfile);
myAudioRecorder.prepare();
myAudioRecorder.start();
}
catch (IllegalStateException ise){
}catch (IOException ioe){
}
// record.setEnabled(false);
//stop.setEnabled(true);
stop.setVisibility(getView().VISIBLE);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myAudioRecorder.stop();
// record.setEnabled(true);
myAudioRecorder.release();
myAudioRecorder=null;
//stop.setEnabled(false);
//play.setEnabled(true);
stop.setVisibility(getView().INVISIBLE);
}
});
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MediaPlayer mediaPlayer=new MediaPlayer();
try {
mediaPlayer.setDataSource(outputfile);
mediaPlayer.prepare();
mediaPlayer.start();
}
catch (Exception e)
{
}
}
});
pause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MediaPlayer mediaPlayer=new MediaPlayer();
try {
mediaPlayer.setDataSource(outputfile);
mediaPlayer.prepare();
mediaPlayer.pause();
}
catch (Exception e)
{
}
}
});
return rootview;
}
}
【问题讨论】:
标签: android audio media-player