【发布时间】:2014-04-21 12:50:03
【问题描述】:
我是 android 新手,我已经编写了链接媒体播放器播放歌曲的代码
我创建了一个文件夹 path="//localhost/Android/sd/vande.mp3 文件存在
public class MainActivity extends Activity {
Button start,pause,stop;
boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start=(Button)findViewById(R.id.button1);
pause=(Button)findViewById(R.id.button2);
stop=(Button)findViewById(R.id.button3);
final MediaPlayer mp=new MediaPlayer();
try{
mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Android/music/vande.mp3");
mp.prepare();
}catch(Exception e){e.printStackTrace();}
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
public void onPrepared(MediaPlayer player)
{
//mp.start();
flag = true;
}
});
if(flag ==true)
{
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.start();
}
});
}
else
{
stop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
}
});
}
pause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.pause();
}
});
}}
但是当我检查 logcat 时文件没有播放,弹出一个错误“开始调用状态 0 错误 (-38,0)
任何人都可以帮助解决此代码
提前感谢
【问题讨论】:
-
我试过 onPreparedListener 而不是 onClickListener
-
在媒体播放器准备好之前开始调用
-
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer player) { mp.start(); } }); -
发布了代码。检查它是否有效,您可以接受相同的
标签: java android media-player