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

时间:2014-05-31 04:12:09

标签: android android-mediaplayer

以下代码崩溃,但如果我评论实例化媒体播放器的所有行,则不会崩溃。所有声音文件都在/ res / raw中。他们都自动完成。它们都可以在Windows Media Player中正常播放。

我已经在我的代码中添加了多余的东西,而且我似乎已将其跟踪到任何未注释掉的MediaPlayer.create行。

我还尝试过不同的事情,例如公开或私有实例。访问当前上下文的不同方式。等

我必须遗漏一些对其他人来说显而易见的事情。

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);
}

1 个答案:

答案 0 :(得分:1)

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

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