0

私はアンドロイドのデフォルトのメディアプレーヤーを使用してmp3サウンドを再生しています、以下のサウンドをプライするための私のコード

MediaPlayer mp=MediaPlayer.create(hello.this,R.raw.abc);
          if(mp!=null)
          {
              mp.start();
          }

同じボタンクリックで同じサウンドを再生する必要があります。しばらくしてサウンドが機能せず、エラーMediaPlayer(7395):エラー(-19、0)が発生した後、ボタンを押し続けると。

誰かがこの問題について考えを持っていますか、私に送ってください

少し早いですがお礼を。

4

5 に答える 5

2

電話

mp.reset();

オブジェクトを宣言するときはいつでも

またはクラスレベルの Mediaplayer OBject で宣言します

于 2012-09-05T11:27:29.587 に答える
0
you can play music like below

 // for play the song

     MediaPlayer mp = new MediaPlayer();

                 try 
                {                   
                     mp.reset();
                     mp.setDataSource(songPath);                        
                     mp.prepare();
                     mp.start();                    
                     btnPlay.setBackgroundResource(R.drawable.img_btn_pause);                   

                 } catch (IOException e) {
                        Log.v(getString(R.string.app_name), e.getMessage());
                }
于 2012-09-06T10:23:26.497 に答える
0

この問題の解決策を見つけました。以下のコードを使用してこの問題を修正しました。他の人にも役立つかもしれません。

ありがとう

メソッドを呼び出す

PlaySound(R.raw.abc);

//方法

private void PlaySound(int Sound_id) 
    {
        mplayer = MediaPlayer.create(Act_Oceanwaves.this,Sound_id);
        if(mplayer!=null)
        {           
            mplayer.start();
        }
        mplayer.setOnCompletionListener(new OnCompletionListener() 
        {

            @Override
            public void onCompletion(MediaPlayer mp) 
            {               
                mp.release();
            }

        });   


    }
于 2012-09-07T10:17:46.883 に答える
0

mediaplayer のグローバル変数を作成し、この方法を試してください

         MediaPlayer mp;

          if (mp!=null) {
              mp.stop();
              mp.release();
            }
          mp= MediaPlayer.create(hello.this,R.raw.abc);
          mp.start();
于 2012-09-05T11:35:58.683 に答える
0
    mp = new MediaPlayer();
    mp.create(this, R.raw.testmed);
    mp.setVolume(100, 100);
    mp.setOnPreparedListener(this);
    mp.prepare();

次に、これを定義する必要があり、動作するはずです。

    public void onPrepared(MediaPlayer player) {
       mp.start();
    }
于 2012-09-05T11:41:24.720 に答える