2016-05-17 163 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

我会将它作为评论发布,但我不能因为我没有足够的声望,我想我会尝试为它编写一些代码。 –