2016-05-17 42 views
0

音楽を再生しているMediaPlayerクラスオブジェクトがあるとします。今では、デバイスの内蔵スピーカーから再生するか、すでにイヤホンを差し込んだ状態で再生するように音楽を変更したいと考えています。外部スピーカーまたは内蔵スピーカーからプログラムで音を再生する

ボタンをタップしてみましょう。それは可能ですか?

+1

可能な複製をhttp://stackoverflow.com/questions/12036221/how-toターン・スピーカー・オン・プログラマチック・イン・アンドロイド-4-0) – Michael

+0

@マイケルありがとう。私はシナリオに似たあなたのすべての答えに従っています。私はあなたの答えを期待していた。ありがとうございました。私は今あなたを邪魔することができます。申し訳ありません。私がエドワードによって与えられた提案の一つをチェックさせてください。 :-) – Nabin

答えて

0

私は十分な評判がないので、私はそれを投稿しますので、私はコメントすることはできません。

ほんの少しの迅速な検索を実行します。([アンドロイド4.0でプログラム的にオン/オフスピーカーをオンにする方法]のSwitching between earpiece and speaker

import android.media.MediaPlayer; 
import android.media.AudioManager; 

public class MediaPlayer { 
    private MediaPlayer mMediaPlayer; 
    private AudioManager mAudioManager; 
    private Button mButton; 
    private boolean isPlayingOnSpeaker = false; 

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

     ... 

     mMediaPlayer = MediaPlayer.create(this, R.raw.song); 
     mMediaPlayer.prepareAsync(); 
     mMediaPlayer.start(); 

     mButton = (Button) findViewById(R.id.button); 

     mButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      context = getActivity().getBaseContext(); 

      mAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);   
      mAudioManager.setMode(AudioManager.STREAM_MUSIC); 

      if(isPlayingOnSpeaker) 
       {mAudioManager.setSpeakerphoneOn(false); isPlayingOnSpeaker=false;} 
      else {mAudioManager.setSpeakerphoneOn(true); isPlayingOnSpeaker=true;} 
     } 
     } 

     ... 
    } 
} 
+0

これがうまくいくと、将来の評判が十分に得られます。 :-) – Nabin

+1

私はコメントとして投稿しましたが、私は十分な評判を得られません。私はそれについていくつかのコードを書こうとします。 –

関連する問題