package cn.itcast.mp3;
import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
private EditText filenameText;
private String filename;
private MediaPlayer mediaPlayer;
private int position;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mediaPlayer = new MediaPlayer();
ButtonClickListener listener = new ButtonClickListener();
Button playButton = (Button)this.findViewById(R.id.play);
Button pauseButton = (Button)this.findViewById(R.id.pause);
Button resetButton = (Button)this.findViewById(R.id.reset);
Button stopButton = (Button)this.findViewById(R.id.stop);
filenameText = (EditText)this.findViewById(R.id.filename);
playButton.setOnClickListener(listener);
pauseButton.setOnClickListener(listener);
resetButton.setOnClickListener(listener);
stopButton.setOnClickListener(listener);
}
@Override
protected void onResume() {
if(position>0 && filename!=null){
File file = new File(Environment.getExternalStorageDirectory(), filename);
try {
play(file);
mediaPlayer.seekTo(position);
position = 0;
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}
super.onResume();
}
@Override
protected void onPause() {
if(mediaPlayer.isPlaying()){
position = mediaPlayer.getCurrentPosition();
mediaPlayer.stop();
}
super.onPause();
}
@Override
protected void onDestroy() {
if(mediaPlayer!=null) mediaPlayer.release();
super.onDestroy();
}
private final class ButtonClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
filename = filenameText.getText().toString();
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file = new File(Environment.getExternalStorageDirectory(), filename);
if(file.exists()){
try {
switch (v.getId()) {
case R.id.play:
play(file);
break;
case R.id.pause:
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
((Button)v).setText(R.string.continues);
}else{
mediaPlayer.start();//继续播放
((Button)v).setText(R.string.pause);
}
break;
case R.id.reset:
if(mediaPlayer.isPlaying()){
mediaPlayer.seekTo(0);
}else{
play(file);
}
break;
case R.id.stop:
if(mediaPlayer.isPlaying()) mediaPlayer.stop();
break;
}
} catch (Exception e) {
Log.e(TAG, e.toString());
}
}else{
Toast.makeText(MainActivity.this, R.string.noexist, 1).show();
}
}else{
Toast.makeText(MainActivity.this, R.string.SDCarderror, 1).show();
}
}
}
private void play(File file) throws IOException {
mediaPlayer.reset();
mediaPlayer.setDataSource(file.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AudioPlayer.rar (22个子文件)
AudioPlayer
bin
classes.dex 6KB
AudioPlayer.apk 15KB
cn
itcast
mp3
MainActivity.class 3KB
MainActivity$ButtonClickListener.class 3KB
R$layout.class 379B
R$id.class 485B
R$drawable.class 385B
R$attr.class 325B
R.class 496B
R$string.class 657B
resources.ap_ 11KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 537B
drawable-mdpi
icon.png 3KB
layout
main.xml 1KB
assets
default.properties 364B
gen
cn
itcast
mp3
R.java 1KB
src
cn
itcast
mp3
MainActivity.java 3KB
.project 847B
.classpath 280B
AndroidManifest.xml 680B
共 22 条
- 1
资源评论
- zhoujordon1232013-09-04还不错。刚刚开始学习,有点借鉴价值
- ffstyle2014-09-11目前还没有快进快退
wang663632304
- 粉丝: 4
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功