偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Android錄音失真具體解決方案

移動開發(fā) Android
在實(shí)際應(yīng)用中,Android錄音的實(shí)現(xiàn)通常會出現(xiàn)失真這樣的問題。那么如何才能解決Android錄音失這一BUG呢?在這里大家將會找到答案。

我們曾經(jīng)在一篇文章中為大家詳細(xì)介紹過有關(guān)Android多媒體錄制功能的一些實(shí)現(xiàn)方法。其中就包括對錄音的實(shí)現(xiàn)方法。今天我們可以通過這篇文章介紹的內(nèi)容詳細(xì)了解Android錄音失真的具體解決方法,以幫助大家解決實(shí)際應(yīng)用中出現(xiàn)的問題。

在6410+WM9714的Android平臺上測試MIC IN錄音功能,出現(xiàn)一個BUG。在該平臺聲音播放是完全正常的,但是錄音后再播放剛錄的聲音,會有失真,同樣的錄音文件在電腦上播放也一樣,說明是Android錄音失真的問題。后來通過打印9714的寄存器,發(fā)現(xiàn)錄音頻率是8000HZ,放音頻率是44100HZ,這時基本上可以確定是由這個不匹配引起的。
我在Android代碼里:AudioHardwareALSA.cpp文件中的函數(shù)中設(shè)定采樣率,如下:

  1. AudioStreamInALSA::AudioStreamInALSA
    (AudioHardwareALSA *parent) :mParent(parent)   
  2. {   
  3. static StreamDefaults _defaults = {   
  4. ....................   
  5. sampleRate : AudioRecord::DEFAULT_SAMPLE_RATE,   
  6. ....................   
  7. };   

設(shè)定了:

  1. static const int DEFAULT_SAMPLE_RATE = 44100;  

但是重?zé)绦蚝蠼Y(jié)果仍然存在Android錄音失真這一問題,采樣率還是8000,似乎被其他地方把值覆蓋了。后來我試著把所有的采樣率8000的地方全都改成44100,結(jié)果仍然一樣是8000。到底是不是采樣率的原因引起的呢?

之后用arecord命令來錄音,前提是不能進(jìn)入Android,否則音頻設(shè)備會被占用。結(jié)果錄得的聲音播放時仍然是同樣的效果,當(dāng)時估計這問題應(yīng)該跟Android上層沒有什么大的關(guān)系。后來別人有試通過將播放速度加快一倍,就得到的正常的播放音,但問題是仍然不知從何處來解決這個問題。

后來經(jīng)過臺灣同事的挖掘,改動錄音MIC IN的DMA SIZE解決了此次問題。改動列出如下,原因尚待分析。

  1. static struct s3c24xx_pcm_dma_params 
    s3c6400_ac97_mic_mono_in = {  
  2. .client = &s3c6400_dma_client_micin,  
  3. .channel = DMACH_AC97_MIC_IN,  
  4. .dma_addr = S3C6400_PA_AC97 + S3C_AC97_MIC_DATA,  
  5. .dma_size = 2,///4  
  6. }; 

該參數(shù)最終在s3c24xx_pcm_hw_params中修改DMA配置所用。Android錄音失真的相關(guān)解決辦法就為大家介紹到這里。

【編輯推薦】

  1. Android屏幕大小相關(guān)技巧應(yīng)用指南
  2. Android多媒體錄制功能的實(shí)現(xiàn)方式介紹
  3. Android圖片大小調(diào)整動態(tài)實(shí)現(xiàn)方法
  4. Android界面互調(diào)具體應(yīng)用方式解析
  5. Android智能指針使用方法介紹
責(zé)任編輯:曹凱 來源: CSDN
相關(guān)推薦

2010-05-17 14:49:43

MySQL中文亂碼

2010-05-11 17:56:59

MySQL Table

2010-09-27 13:37:40

部署DLP

2016-09-22 21:42:48

Android鬧鐘移動

2014-07-17 00:42:18

Android應(yīng)用測試方案

2012-05-27 16:21:31

IDC華為

2018-12-03 12:17:27

Semptian解決方案

2018-12-03 11:59:42

Inventec解決方案

2018-12-03 12:26:30

YADRO解決方案

2018-12-03 12:13:21

Mellanox解決方案

2013-05-16 11:07:37

Android開發(fā)Android應(yīng)用自動化測試

2016-03-13 17:58:57

2009-07-15 17:09:32

Swing線程

2010-12-21 17:28:58

2012-05-27 17:01:36

華為云教育數(shù)據(jù)

2018-12-03 12:23:45

IBMMCM解決方案

2017-08-02 17:23:22

AzureIoTAWS

2010-12-21 17:38:12

2018-12-03 12:09:39

時速云解決方案

2018-12-03 12:04:10

Kyligence解決方案
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號