在Android中播放mp3文件时遇到问题

时间:2011-09-22 04:47:45

标签: android media-player

我在播放音频(mp3)文件时遇到问题这个音乐文件就像点击声音它位于原始文件夹中,问题是如果有很多次点击,它会抛出nullPointer的异常。它发生在点击完成的任何地方,任何时候,它是否与内存问题或MediaPlayer相关的问题有关,请提出任何建议。 它简单的媒体播放器对象即时通讯,但它的游戏触摸它播放文件,所以在游戏中我有很多东西要拖动所以我想要一个点击声,那时候它工作正常,但超过一定限制它抛出空指针异常。这是代码:

   MediaPlayer mp= MediaPlayer.create(context,R.raw.soun1);
   mp.start();

就是这样:

4 个答案:

答案 0 :(得分:1)

试试这个::

MediaPlayer mp = new MediaPlayer();
    mp= MediaPlayer.create(this,R.raw.soun1);
    mp.start();
清单文件中的

权限:::

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

答案 1 :(得分:1)

要播放媒体播放器...我们需要两个班级.. 让我们假设mainactivity.java是我们的第一个文件.. 这里我们定义了两个按钮 - start_button&amp; stop_button

mButton_start.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent mIntent=new Intent(MainActivity.this,maservice.class);
        startService(mIntent);

    }
});
mButton_stop.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent mIntent=new Intent(MainActivity.this,maservice.class);
        stopService(mIntent);

    }
});

maservice.java是我们的另一个java文件。这里我们定义媒体播放器,也应该有3种方法:onCreate(),onStart(),onDestroy()。

以下是代码:

MediaPlayer mPlayer;
@Override
public void onCreate()
{
    super.onCreate();
    mPlayer=MediaPlayer.create(this, R.raw.kyun);
    mPlayer.setLooping(true);
}
@Override
public void onStart(Intent miIntent, int startid)
{
    super.onStart(miIntent, startid);
    mPlayer.start();

}

@Override
public void onDestroy()
{
    super.onDestroy();
    mPlayer.stop();
}

我们还必须在清单文件中定义这些java文件

  • mainactivity.java在活动标记
  • 下定义
  • 但是maservice.java是在服务标签
  • 下定义的

答案 2 :(得分:0)

我得到了我的答案,它的SoundPool,特别是在游戏的关注时,例如连续使用声音文件的应用程序,所以我们应该使用除MediaPlayer之外的SoundPool。

答案 3 :(得分:0)

问题在于MP3编码。我尝试使用相同的代码,很少有人工作而很少有人工作。因此,如果下次显示相同的错误,请尝试使用其他错误。