我在播放音频(mp3)文件时遇到问题这个音乐文件就像点击声音它位于原始文件夹中,问题是如果有很多次点击,它会抛出nullPointer的异常。它发生在点击完成的任何地方,任何时候,它是否与内存问题或MediaPlayer相关的问题有关,请提出任何建议。 它简单的媒体播放器对象即时通讯,但它的游戏触摸它播放文件,所以在游戏中我有很多东西要拖动所以我想要一个点击声,那时候它工作正常,但超过一定限制它抛出空指针异常。这是代码:
MediaPlayer mp= MediaPlayer.create(context,R.raw.soun1);
mp.start();
就是这样:
答案 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文件
答案 2 :(得分:0)
我得到了我的答案,它的SoundPool,特别是在游戏的关注时,例如连续使用声音文件的应用程序,所以我们应该使用除MediaPlayer之外的SoundPool。
答案 3 :(得分:0)
问题在于MP3编码。我尝试使用相同的代码,很少有人工作而很少有人工作。因此,如果下次显示相同的错误,请尝试使用其他错误。