Получить MediaPlayer & AudioManager для воспроизведения через динамик вместо динамика? - PullRequest
3 голосов
/ 08 декабря 2011

Эй, я пытаюсь воспроизвести файл R.raw через наушник вместо основного динамика телефона в моем приложении, но все, что я к нему добавляю, не работает.С моим текущим кодом ... он просто играет очень статично через динамик, а не тот R.raw, который я хочу.

Вот мой код ниже и я установил его в манифесте: <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

 AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
            am.setSpeakerphoneOn(false);
        am.setMode(AudioManager.MODE_IN_CALL); 

        MediaPlayer tellSecret = MediaPlayer.create(this, R.raw.secret);
    tellSecret.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
    tellSecret.start();

Есть мысли?

Ответы [ 2 ]

1 голос
/ 31 июля 2012

Попробуйте установить для Audio Manager и Media Player режимы AudioManager.STREAM_MUSIC.

0 голосов
/ 26 февраля 2015

не используйте api «create» для медиаплеера, вместо этого используйте «setDataSource» и «prepare» apis отдельно.Также вызовите API 'setAudioStreamType' для экземпляра медиаплеера с STREAM_VOICE_CALL перед вызовом 'setDataSource'.

В конце после запуска медиаплеера вызовите setSpeakerphoneOn (false) в аудио менеджере.

...