2010-03-29 41 views
6

Để người dùng kiểm soát âm lượng, ứng dụng Android của tôi có menu bao gồm thanh trượt cung cấp giá trị int từ 0 đến 10, khi được kéo. Sau khi tôi có được một giá trị, tôi phải đặt âm lượng cho giá trị tương ứng do người dùng chọn, và tốt, đây là phần mà tôi không biết để thực hiện và tôi muốn tìm hiểu về nó.Đặt âm lượng của ứng dụng android

Trả lời

11

Sử dụng lớp AudioManager. Về cơ bản mã như sau:

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
audioManager.setStreamVolume(streamType, volume, flags); 

Vấn đề là âm lượng của thiết bị không nhất thiết được ánh xạ từ 0 đến 10 như bạn có trong thanh trượt. Trên giả lập của tôi, đó là 0-7. Vì vậy, những gì bạn cần làm là getStreamMaxVolume(...) để biết tối đa của bạn là gì, và sau đó làm việc ra giá trị của bạn như là một phần nhỏ của điều đó. Ví dụ: nếu người dùng của bạn chọn âm lượng 8 trên 10, điều đó tương đương với 0.8 * 7 = 5.6, bạn nên làm tròn thành 6 trong số 7.

"Luồng" đề cập đến những thứ như âm lượng chuông, âm lượng thông báo , âm lượng nhạc, vv Nếu bạn muốn thay đổi âm lượng của chuông, bạn cần đảm bảo tất cả các lệnh của bạn có AudioManager.STREAM_RING làm kiểu streamType.

Các vấn đề liên quan