【发布时间】:2013-09-12 22:06:57
【问题描述】:
我看过很多其他关于此的帖子,但我无法使其正常工作。我只是想使用 MediaPlayer 播放一首简单的歌曲。这不是 UI 的按钮问题,因为我可以验证按钮方法 startMusic 和 stopMusic 是否被调用。
player.play();而 player.stop() 什么也不做。
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;
import android.media.MediaPlayer;
public class MainActivity extends Activity
{
private static MediaPlayer player = new MediaPlayer();
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
player.create(MainActivity.this,R.raw.sadsadsad);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void changeLabel(View view)
{
TextView myTextView = (TextView) findViewById(R.id.myTextView);
myTextView.setText("Label changed");
}
public void playMusic(View view)
{
player.start();
}
public void stopMusic(View view)
{
player.stop();
}
}
再次,播放和停止按钮起作用,断点位于 .start() 和 .stop()。
【问题讨论】:
-
我很困惑。你的标题说你的
MediaPlayer没有播放,但你的帖子正文说它可以播放???哪些方法行不通? -
我只是想澄清一下。我使用按钮调用 playMusic 和 stopMusic 方法,但 player.start() 和 player.stop() 什么都不做。很抱歉造成混乱。
-
为什么是
playerstatic?如果您删除static修饰符,我认为它应该可以工作 -
我在这里的其他地方读到 MediaPlayers 需要是私有静态的。我是 Android 新手。
-
不行,去掉修饰符看看会发生什么
标签: java android android-mediaplayer