2010-08-05 27 views
15

Tôi muốn tạo bộ cân bằng đơn giản cho Android. Tôi làm nó như thế nào?Cách tạo bộ cân bằng cho android

Cố gắng tìm một số phương pháp trong lớp MediaPlayer. Nhưng tất cả nỗ lực của tôi đều thất bại.

+0

Bạn sẽ phải đưa ra một câu hỏi cụ thể hơn để có được một câu trả lời tốt ở đây . Chính xác thì bạn đã thử cái gì? những gì thất bại về nó? Chính xác thì bạn đang cố đạt được điều gì? –

+2

Tôi đang viết trình phát đa phương tiện cho Android. Và tôi cần tạo Equalizer cho nó. Tôi không thể tìm thấy bất kỳ cách tiêu chuẩn nào để sửa đổi luồng âm thanh trong Android. Tôi tìm thấy một số thiết bị cân bằng J2SE. Nhưng nó sử dụng các lớp cụ thể J2SE. – MistaGreen

+0

Xin chào, tôi đang tìm kiếm triển khai tương tự. Xin vui lòng cung cấp cho tôi một số ý tưởng cơ bản làm thế nào để thực hiện điều này? – AndiM

Trả lời

5

Câu trả lời đơn giản ... bạn không thể làm điều đó với khung công tác hoặc với Java (vì không có hỗ trợ JMF trong Android). Bạn phải sử dụng NDK và JNI để biên dịch một thư viện gốc với sự hỗ trợ bộ chỉnh âm. Nếu bạn biết C/C++ có rất nhiều thư viện xung quanh sẽ cung cấp chức năng này nhưng nếu bạn không biết C/C++ hoặc có phương tiện trả tiền cho ai đó, tôi khuyên bạn nên chuyển sang thứ khác trong phương tiện của bạn. Thậm chí còn có một số ví dụ làm việc cho Android, nếu bạn nhìn xung quanh, sử dụng libmpg123 ... nhưng libmpg123 chỉ cung cấp giao diện cân bằng cho mp3. Tôi thấy rằng nó khá buggy nói chung và thỏa hiệp sự ổn định của các ứng dụng trong một cách mà nó sẽ khóa lên android và tôi sẽ phải kéo pin để khởi động lại điện thoại. Ngoài ra, có rất nhiều âm thanh cắt ngay cả với bộ cân bằng phẳng. Đó là kinh nghiệm của tôi ...

+0

HI, Cảm ơn nhận xét này, nhưng tôi đã tìm kiếm nhiều lần hơn cho thư viện c/C++ cho bộ cân bằng android nhưng không thể tìm thấy. Nếu bạn sẽ hỗ trợ thì tôi nghĩ rằng vấn đề của tôi sẽ được giải quyết, vui lòng yêu cầu bạn, Nếu bạn có ít thời gian để giúp đỡ, xin vui lòng chia sẻ một số thông tin cho thư viện. Cảm ơn một lần nữa ... –

+0

sử dụng bộ cân bằng lớp bro – Learner

13

Android đã tích hợp trong công cụ qualizer, mặc dù nó không nằm trong lớp MediaPlayer, becouse đó là một lớp riêng của mình nằm trong gói android.media.audioFx.

http://developer.android.com/reference/android/media/audiofx/Equalizer.html

+2

Cảm ơn. Nhưng nó chỉ hoạt động cho các phiên bản Android <= 2.3. Bây giờ nó không quan trọng đến vậy. – MistaGreen

+0

@MistaGreen có bạn là đúng.Nếu u sửa chữa vấn đề này có nghĩa là xin vui lòng giúp tôi –

5

Bạn có thể tạo một bộ cân bằng như

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

equalizer.setEnabled(true); 

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

equalizer.getNumberOfPresets();//like Normal Classic,Dance Flat,Folk Heavy Metal,Hip Hop,Jazz, Pop, Rock 

http://developer.android.com/reference/android/media/audiofx/Equalizer.html

Have a look at full example

+0

nhận được lỗi trên nougat android. – AkhilGite

+0

lỗi nào bạn đang gặp phải. Gửi một số nhật ký. – Nepster

+0

bạn có thể xem tại đây [link] (http://stackoverflow.com/questions/40967977/java-lang-unsupportedoperationexception-audioeffect-invalid-parameter-operatio). Tôi đã hỏi một câu hỏi về stackoverflow – AkhilGite

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