2012-09-22 24 views
5

Tôi sử dụng Android Audio Effect/Equalizer API cho ứng dụng của mình. Tuy nhiên, nó giới hạn đến 5 dải. Có bất kỳ tài liệu/thư viện nào giúp điều chỉnh nhiều dải hơn để thực hiện bộ cân bằng tốt hơn không?Giới hạn hiệu ứng âm thanh của Android đến 5 băng tần

+0

Bạn không thể sử dụng nhiều hơn một bản sao của bộ chỉnh âm để có được nhiều dải hơn? –

+1

Tôi sử dụng một phiên bản của bộ chỉnh âm được đính kèm vào [http://developer.android.com/reference/android/media/MediaPlayer.html#getAudioSessionId()] (AudioPlayer của người dùngPlayerPlayer) –

+0

@NilsPipenbrinck: Sử dụng nhiều hơn một Ví dụ của bộ cân bằng sẽ chuyển đổi thành cùng một tần số 5 dải khác. Sau đó, làm thế nào nó có thể có tất cả các tần số khác nhau? Bạn có ý tưởng nào khác không? –

Trả lời

2

Nó thay đổi từ thiết bị đến thiết bị getNumberOfBands cho bạn biết số lượng Equalizer hiệu lực thi hành. Một số thiết bị có 5,8 và 13, v.v.

Equalizer equalizer = new Equalizer(0,mediaplayer.getAudioSessionId()); 

equalizer.setEnabled(true); 

equalizer.getNumberOfBands(); //it tells you the number of equalizer in device. 

Cũng có một cái nhìn tại this

+0

Tôi đã thử trên ba thiết bị khác nhau (Samsung, Huawei, Nexus). Tất cả cung cấp cho 5 ban nhạc. Trong khi PowerAmp (Music Player) có sẵn trên playstore cung cấp cho 10 ban nhạc cho mọi thiết bị. Bất kỳ ý tưởng làm thế nào họ đang làm điều này? –

+0

Tôi đã thử nghiệm nó trên các thiết bị khác nhau và trả về đôi khi 15 và đôi khi 5. Và tôi không biết làm thế nào PowerAmp hiện điều này cho 10 ban nhạc – Nepster

0

Số lượng băng tần và tần số trung tâm của chúng phụ thuộc vào điện thoại. Việc thực hiện bộ cân bằng được đưa vào ROM.

0

Bạn có thể thử có một thử với sasken-player, đó là một reimplementation của bộ cân bằng mà sẽ cung cấp cho bạn 10 ban nhạc

1

Câu hỏi này đã được hỏi từ lâu . Đây là giải pháp cho những người tìm kiếm câu trả lời trong tương lai. Tôi đã tìm thấy thư viện này cho android cung cấp 10 băng tần Equalizer.

Sử dụng Equalizer Api Android trên ba thiết bị khác nhau tôi đã có thể để có được những kết quả sau:

1) Samsung Galaxy Note 3 (5 Bands)

2) Huawei Mate 8 (5 Bands)

3) Nexus 5 (5 dải)

sử dụng this thư viện Tôi có thể nhận 10 dải trên tất cả các thiết bị trên. Tôi đã thử nghiệm nó và nó hoạt động rất tốt.

Bao gồm this thư viện trong dự án của bạn. Và sử dụng đoạn mã sau để có Equalizer với 10 băng tần.

IMediaPlayerFactory mediaPlayerFactory = new OpenSLMediaPlayerFactory(getApplicationContext()); 
IBasicMediaPlayer mediaPlayer = mediaPlayerFactory.createMediaPlayer(); 
IEqualizer equalizer = mediaPlayerFactory.createHQEqualizer(); 
/* This returns 10 bands exactly like Poweramp music app does */ 
int numOfBands = equalizer.getNumberOfBands(); 

Thư viện này có tài liệu hướng dẫn bạn có thể tham khảo. Hi vọng điêu nay co ich.

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