2
アラームの種類のアプリケーションを作成しています。特定のアクティビティを開くと、デバイスのアラーム音量でカスタムサウンドを再生したいとします。 デバイスのメディアボリュームがオフで、アラーム音量がオンの場合、カスタムサウンドが再生されます。私はすでに試してみました何デバイスのメディアボリュームがオフのときにアラーム音を鳴らす
:
private void playAlarmSound(String fileName) {
MediaPlayer p = new MediaPlayer();
AudioManager audioManager= (AudioManager) getSystemService(AUDIO_SERVICE);
try {
AssetFileDescriptor afd = this.getAssets().openFd(fileName);
int volumeLevel=audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
p.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
p.setVolume(volumeLevel,volumeLevel);
afd.close();
p.prepare();
} catch (Exception e) {
e.printStackTrace();
}
p.start();
}
しかし、これによって
それは音を再生しているが、メディアボリュームがオフのときにサウンドを再生されていない上、メディアの容量があります。
ありがとうjmart。それは正常に動作しています。 "setAudioAttributes"はAPIレベル21より上でのみ使用できます.21以下はどうですか? – Shivam
api 21の前に、MediaPlayerでsetAudioStreamTypeを使用する必要があります。 – jmart