Umschalten zwischen Hörer und Freisprecheinrichtung auf den button drücken
Ich versuche zu spielen, audio-sowohl von der Freisprecheinrichtung und Hörer mit einer Taste Umschalten zwischen den beiden. Das problem ist, dass ich versuche, das Standard-audio-zu-spielen aus dem Hörer, aber es kommt nichts heraus. Danach, wenn ich drücken Sie die Taste zum Umschalten auf die Freisprecheinrichtung, die noch keine Hörspiele. Ich Spiele von einem lokalen raw-Datei.
Habe ich android.die Genehmigung.MODIFY_AUDIO_SETTINGS im Manifest als gut.
Hier ist mein code:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
context = getActivity().getBaseContext();
am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(false);
am.setBluetoothScoOn(true);
speakerON = false;
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.buttonSpeaker:
if(!speakerON)//speaker off
{
speakerON = true;
am.setMode(AudioManager.MODE_NORMAL);
am.setSpeakerphoneOn(true);
am.setBluetoothScoOn(false);
speaker.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_lock_silent_mode_off, 0, 0, 0);
}
else
{
speakerON = false;
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(false);
am.setBluetoothScoOn(true);
speaker.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_lock_silent_mode, 0, 0, 0);
}
break;
}
}
Hier ist, wie ich bin einrichten die MediaPlayer:
mediaPlayer = MediaPlayer.create(getActivity().getBaseContext(), R.raw.test_message);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mediaPlayer.start();
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellt sich heraus, dass ich hatte, stellen Sie das Modus-falsch.
Hier ist die aktualisierte media player:
Und dann setze ich den Modus für die audio-manager :
Und dann hat es geklappt. So stellen Sie sicher, dass der media player und audio-manager sind im gleichen Modus.