【问题标题】:Android Pie 9 Crash When Using Media Player使用媒体播放器时 Android Pie 9 崩溃
【发布时间】:2019-03-04 12:38:52
【问题描述】:

java.lang.NullPointerException: 尝试调用虚方法 'void android.media.MediaPlayer.start()' 在空对象引用上

  • 我已经用其他安卓版本测试过了,使用媒体播放器没有问题。
MediaPlayer mediaPlayer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main_play);

play=findViewById(R.id.play);


play.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mediaPlayer = MediaPlayer.create(MainPlay.this, R.raw.click);
        mediaPlayer.start();

});

【问题讨论】:

  • MediaPlayer.create 正在返回null。检查您的 logcat 以了解原因。

标签: java android


【解决方案1】:

在启动媒体播放器之前,请检查一次不等于 null (!=nu)
如下所示

play=findViewById(R.id.play);

mediaPlayer = MediaPlayer.create(MainPlay.this, R.raw.click);
play.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(mediaPlayer!=null)
           mediaPlayer.start();

});

或者我建议在点击之外初始化媒体播放器,因为您试图立即访问媒体播放器可能是导致 null 的原因

【讨论】:

  • 是的,我已经添加了它。谢谢兄弟。是因为音频有问题吗?因为我有其他音频并且它正在工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
相关资源
最近更新 更多