私のアプリケーションでメッセージを受け取ったときにビープ音を鳴らそうとしています。このビープ音は、マスター電話通知音量レベル(リンガー音量ではありません)を尊重する必要があります。つまり、電話通知のボリュームが3/10の場合、ビープ音の強さは3/10になります。 私はMediaPlayerボリュームの問題 - AudioStreamの問題
AudioManager audioMan = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
int volume;
if (mPlayer == null) {
mPlayer = MediaPlayer.create(context, R.raw.mytone);
}
if (mPlayer.isPlaying()) {
mPlayer.stop();
mPlayer.release();
mPlayer = MediaPlayer.create(context, R.raw.mytone);
}
volume = audioMan.getStreamVolume(AudioManager.STREAM_NOTIFICATION);
mPlayer.setVolume(volume, volume);//this doesn't work for me, beep sound is taking media player volume by default.
mPlayer.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer player, int what, int extra) {
player.stop();
player.reset();
return true;
}
});
if (mVibrator == null)
mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
mVibrator.cancel();
、あなたの知識を共有し、私に指示を与えてくださいすることができ、これを達成することはできませんよ。ありがとうございました。
'mediaPlayer.setDataSource(afd ...')の後に 'afd.close(); 'で閉じてください –
確かですが、これは完全な解決策ではありません。 – Phil