Tôi muốn lấy khối lượng hiện tại của MediaPlayer, nhưng không thấy bất kỳ phương pháp nào như 'getVolume()' trên đó. Có một setVolume(), do đó, tôi là một chút bối rối là tại sao họ cũng không cung cấp một cách để đọc tài sản này.Android MediaPlayer nhận âm lượng
tôi thấy một số câu trả lời khác mà đề nghị sử dụng AudioManager để đọc khối lượng:
int volumeLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC);
int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = (float)volumeLevel/maxVolume;
Tuy nhiên, điều này dường như để trả lại khối lượng thiết bị cho tất cả các âm nhạc, và không phải là khối lượng mà tôi đang thiết với ' setVolume() '... có cách nào để lấy khối lượng trực tiếp từ MediaPlayer không? Tôi đã suy nghĩ có lẽ tôi cần phải làm điều gì đó với getAudioSessionId(). Cảm ơn.
Bạn đã xem bài đăng này chưa? http://stackoverflow.com/questions/4593552/how-do-you-get-set-media-volume-not-ringtone-volume-in-android – Joel
Yea getStreamVolume() dường như luôn trả về cùng một giá trị ngay cả sau khi tôi đặt âm lượng bằng tay với MediaPlayer.setVolume(); –
Bạn đã tìm thấy giải pháp cho điều này chưa? AFAIK, bạn phải lưu trữ các mức âm lượng hiện tại trên các biến của riêng bạn. –