package com.example.mediaplayerexample;
import java.io.File;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
MediaPlayer mediaplayer;
boolean isPauser = false;// 是否暂停标记
File file;
TextView infromation;
/* 控制控制逻辑:点击播放,播放按钮不可用,其余按钮可用,点击暂停按钮,播放按钮和停止按钮都可用 */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button Play = (Button) findViewById(R.id.Play);
final Button PauseOrContinue = (Button) findViewById(R.id.PauseOrContinue);
final Button Stop = (Button) findViewById(R.id.Stop);
infromation = (TextView) findViewById(R.id.showMessage);
file = new File("/sdcard/Music/I.mp3");
if (file.exists()) {// 检查文件是否存在
// file.getAbsolutePath())获取文件绝对路径
mediaplayer = mediaplayer.create(this, Uri.parse(file.getAbsolutePath()));// 存在的话则通过文件的绝对路径创建MediaPlayer
} else {
infromation.setText("要播放的文件不存在");
Play.setEnabled(false);// 设置播放按钮不可用
return;////////////////////////////////////////////////////为什么这个地反的return必须有呢?,没有会报错
隐式应该可以不写的呀,不解求高人解答。
mediaplayer.setOnCompletionListener
应该是这里的问题,你文件不存在的时候return,就不再执行后面的代码,不写return,后面的代码就会继续执行。
看看你报错的内容就知道是哪里出错了呀。
谢谢。知道了。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。