我现在正在编写一个应用程序,以便在用户进行一些练习时通过内部扬声器提供声音反馈。
现在我想添加一个功能来记录用户的心跳和通过3.5mm插孔插入手机的听诊器呼吸。问题是当我插入插孔时,扬声器不会播放任何声音,因为手机认为耳机已连接,声音将通过它们播放。
我想要实现的是通过插入手机的听诊器录制声音,同时通过内部扬声器播放声音。
基本上我使用两种播放声音的方法,MediaPlayer 和 TextToSpeech。
我在互联网上搜索,找到了这些文章:
他们告诉我要做的是添加权限 MODIFY_AUDIO_SETTINGS 到清单
声明变量:
MediaPlayer mediaPlayer;
AudioManager mAudioManager;
HashMap<String, String> mHashAlarm = new HashMap<String, String>();
在 OnCreate 方法中:</p>
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setSpeakerphoneOn(true);
mediaPlayer = MediaPlayer.create(context, R.raw.ding);
mHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_MUSIC));
...
tts.speak(text, TextToSpeech.QUEUE_FLUSH, mHashAlarm);
但它们都不起作用。
有谁知道如何实现这个功能?任何想法都会有很大帮助。谢谢。