2016-05-17 57 views
0

假設我有一個正在播放一些音樂MediaPlayer的類對象。現在我想要改變音樂以播放設備的內置揚聲器或已經插入耳機。播放聲音編程

讓我們說,只需點擊一個按鈕。那可能嗎?

+1

的可能的複製[如何打開揚聲器/關閉編程中的Android 4.0(http://stackoverflow.com/questions/12036221/how-to - 旋轉揚聲器在編程上 - 在android-4-0) – Michael

+0

@Michael謝謝。我一直在關注與場景類似的每一個答案。我期待着你的回答。再次感謝你。我現在可以打擾你了。提前對不起。讓我檢查一下愛德華提出的建議。 :-) – Nabin

回答

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

我會將它作爲評論發佈,但我不能因爲我沒有足夠的聲望,我想我會嘗試爲它編寫一些代碼。 –