2017-02-12 6 views
0

私はAudioManagerを使用したくありません...私のアプリ は、MediaPlayer APIを使用して、ボリュームを希望のレベルに設定することができません。 音量UPと音量ダウンキーで設定された音量で再生します。ドキュメントに記載さsetVolume MediaPlayer APIを使用していません

public class MainActivity extends AppCompatActivity { 

    protected static MediaPlayer mp; 

    @Override 

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

     final Button next=(Button) findViewById(R.id.button); 
     mp=MediaPlayer.create(this,R.raw.m1); 
     mp.setVolume(0.02f,0.02f); 
     mp.start(); 
     mp.setLooping(true); 

     next.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MainActivity.this,Main2Activity.class); 
       startActivity(intent); 
      } 
     }); 
+0

スクリーンショットではなく直接コードを投稿してください;) – ByteHamster

+0

yaa完了...もう一度ご覧ください –

答えて

2

「このAPIは、アプリケーション内のオーディオストリームの出力のバランスをとるために推奨されますが、ユーザー設定を制御するアプリケーションを作成している場合を除き、このAPIを優先して使用する必要があります。特定のタイプのすべてのストリームの音量を設定しますsetStreamVolume(int, int, int)。」

https://developer.android.com/reference/android/media/MediaPlayer.html#setVolume(float,%20float)

するには、しかし、することができますあなたのmediaplayerにストリームを設定し、 の音楽/通知やアラームのような希望のストリームを再生させてください。 で十分です。あなたが特定のレベルでいくつかのサウンドを再生したい場合は

mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 

は、そうしないと、特定のストリーム&は、ストリームの音量を設定し、音声を再生するにはAudioManager APIのを使用する必要があります。これは一般的な方法です。

関連する問題