实例化android媒体播放器崩溃应用程序



下面的代码崩溃了,但如果我注释了所有实例化媒体播放器的行,就不会崩溃。所有的声音文件都是/res/raw格式。它们都是自动补全的。它们在Windows Media Player中都能正常播放

我在我的代码中到处都放了祝酒词,我似乎已经把它追踪到任何一个MediaPlayer上了。创建不被注释掉的行

我也尝试过不同的事情,比如声明实例public或private。访问当前上下文的不同方式。等。

我一定错过了一些对别人来说很明显的东西。

public class MainActivity extends ActionBarActivity
{
    RadioButton radio_button_1, radio_button_2, radio_button_3;
    Button play_button_1, play_button_2, play_button_3;
    RadioButton[] radio_button_list;
    Button[] play_button_list;

    //  public MediaPlayer bell_player = MediaPlayer.create(getApplicationContext(),R.raw.bell);
    MediaPlayer chainsaw_player = MediaPlayer.create(MainActivity.this,R.raw.chainsaw);
    //  MediaPlayer harp_player = MediaPlayer.create(this, R.raw.dream_harp);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Toast.makeText(getApplicationContext(), "in main activity", Toast.LENGTH_SHORT).show();
    setContentView(R.layout.activity_main);
}

onCreate()方法中实例化MediaPlayer对象,而不是使用字段初始化器。

它需要一个有效的上下文,而活动在那一点上没有。

最新更新