2013-02-20 36 views
9

Tôi đang tạo một ứng dụng phát tệp được ghi trên Android cho iphone và ngược lại.cách ghi tệp âm thanh với chất lượng tốt hơn trong android?

bây giờ tôi đang sử dụng,

 audioRecorder = new MediaRecorder(); 
     audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 

tập tin ghi nhận sử dụng mã này có kích thước 85 kb/15 giây và một chất lượng rất kém.

nếu tôi sử dụng,

 audioRecorder = new MediaRecorder(); 
     audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); 
     audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

sau đó tập tin kích thước là 25KB/15 giây và chất lượng tốt hơn nhiều so với aac. nhưng vấn đề là AMR không thể phát trên iPhone.

Vì vậy, vui lòng đề xuất lược đồ ghi âm cho Android có chất lượng tốt hơn, kích thước giá cả phải chăng và có thể chơi trên iPhone.

Trả lời

2

liên kết này là rất hữu ích kiểm tra xem nó: android supported media formats

Phần này sẽ cung cấp cho chúng tôi biết thêm thông tin về các định dạng âm thanh và viedo

14

Tăng recorder.setAudioEncodingBitRate (giá trị) nếu bạn muốn thay đổi chất lượng.

recorder = new MediaRecorder(); 
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax()); 
recorder.setAudioEncodingBitRate(16); 
recorder.setAudioSamplingRate(44100); 
recorder.setOutputFile(path); 
recorder.prepare(); 
recorder.start(); 

EDIT:

Một lựa chọn khác là thêm một chuyển đổi để ứng dụng của bạn. Chuyển đổi AMR sang AAC.

+0

Cảm ơn Jermaine, \t audioRecorder.setAudioSamplingRate (44100); \t audioRecorder.setAudioEncodingBitRate (96000); hãy thử điều này nhưng có nhiều tiếng ồn trong âm thanh. – PrvN

+0

Hãy thử điều chỉnh tốc độ lấy mẫu và tốc độ bit. và tìm một nơi tốt hơn để ghi lại. – StarPinkER

+0

có tốc độ bit tăng là 96000 và tỷ lệ mẫu là 44100. nhưng vẫn ồn ào ... – PrvN

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