首页 文章

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

提问于
浏览
2

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

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

而已:

4 回答

  • 1

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

  • 0

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

  • 1

    just try this ::

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

    permission in manifest file:::

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

    要玩媒体播放器...我们需要两个类..让我们假设 mainactivity.java 是我们的第一个文件..这里我们定义两个按钮 - start_buttonstop_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在activity标记下定义

    • 但是maservice.java是在服务标签下定义的

相关问题