La commutation entre l'écouteur et le haut-parleur en appuyant sur une touche
Je suis en train de lire des fichiers audio à partir à la fois le haut-parleur et l'écouteur en avoir un bouton bascule entre les deux. Le problème est que je suis en train de défaut de l'audio pour jouer de l'écouteur, mais rien ne sort. Puis, quand j'appuie sur le bouton pour basculer en mode haut-parleur, toujours pas de lecture audio. Je suis à jouer à partir d'un local de fichier raw.
J'ai android.la permission.MODIFY_AUDIO_SETTINGS dans le Manifeste.
Voici mon 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;
}
}
Ici est de savoir comment je suis en train d'ouvrir le lecteur multimédia:
mediaPlayer = MediaPlayer.create(getActivity().getBaseContext(), R.raw.test_message);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mediaPlayer.start();
OriginalL'auteur BC2 | 2012-07-26
Vous devez vous connecter pour publier un commentaire.
Il s'avère que j'avais mis le mode de mal.
Voici la mise à jour de media player:
Et puis j'ai mis le mode audio manager pour :
Et puis il a travaillé. Donc, assurez-vous que le lecteur multimédia et audio manager sont dans le même mode.
fondamentalement, AudioManager.STREAM_MUSIC et MODE_IN_CALL ont la même valeur. Il doit avoir été MODE_IN_CALL. Il fonctionne dans le cas ci-dessus, parce que je crois que les deux ont la valeur "3". Cependant, il faut être à l'aide de MODE_IN_CALL comme Ivan points.
bon travail, fonctionne parfaitement
Bonjour Mike, j'ai pour basculer entre le mode de haut-parleur et l'écouteur du mode de cliquer sur un bouton pendant la lecture d'un mp3 stockés sur la carte sd. J'ai essayé votre code ci-dessus, mais je suis pas capable de le faire. Pouvez vous s'il vous plaît élaborer la sur la manipulation?
devons-nous préparer mediaplayer de nouveau après la commutation audio manager mode?
OriginalL'auteur BC2