2017-03-01 6 views
0

使用後にMediaPlayerをクリーンアップする方法の例に基づいて教えてください。ここで使用後にMediaPlayerをクリーンアップするにはどうすればよいですか? -Android Studio

は私のコードです:

public class MainActivity extends AppCompatActivity{ 


     MediaPlayer mp; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

     } 


    //sound onClick's 
    public void sound1(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound1); 
     mp.start(); 
    } 
    public void sound2(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound2); 
     mp.start(); 
    } 
    public void sound3(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound3); 
     mp.start(); 
    } 
    public void sound4(View view){ 
     mp= MediaPlayer.create(this, R.raw.sound4); 
     mp.start(); 
    } 

} 

私はmp.releaseを(使用する必要があることを知っている)が、私が書く場合、それは動作しません:

public void sound1(View view){ 
      mp= MediaPlayer.create(this, R.raw.sound1); 
      mp.start(); 
      mp.release(); 
     } 

私の例を教えてください。 これは私にとって非常に重要です:)

答えて

0

最初の点、あなたはstart()メソッドとrelease()メソッドを次々に呼び出すべきではありません。

これは、メディアプレーヤーを再生してリリースする方法です。

MediaPlayer mp = MediaPlayer.create(this,Uri.parse("android.resource://app/raw/sound")); 
mp.preapare(); 
mp.setOnCompletionListener(new OnCompletionListener() { 
@Override 
public void onCompletion(MediaPlayer mp) 
{ 
    mp.release(); 
} }); 
mp.start(); 
関連する問題