原创 爲Android安裝BusyBox —— 完整的bash shell

http://www.cnblogs.com/xiaowenji/archive/2011/03/12/1982309.html   大家是否有過這樣的經歷,在命令行裏輸入adb shell,然後使用命令操作你的手機或模擬器,但是那些

原创 各種多媒體格式以及codec簡析

首先要明白幾個概念: A、掃描線和分辨率      掃描線可以理解爲將屏幕水平方向分成一條條直線,就像水平直線組成一個平面一樣。屏幕的清晰度基本上取決於其掃描線的細膩程度,也可以通俗地來講掃描線決定了屏幕的物理分辨率,物理分辨率是指屏幕最

原创 linux 技巧:使用 screen 管理你的遠程會話

田 強 ([email protected]), 軟件工程師, IBM中國軟件開發中心 簡介: 你是不是經常需要遠程登錄到Linux服務器?你是不是經常爲一些長時間運行的任務頭疼?還在用 nohup 嗎?那麼來看看 screen 吧

原创 ALSA聲卡驅動中的DAPM詳解之一:kcontrol

DAPM是Dynamic Audio Power Management的縮寫,直譯過來就是動態音頻電源管理的意思,DAPM是爲了使基於linux的移動設備上的音頻子系統,在任何時候都工作在最小功耗狀態下。DAPM對用戶空間的應用程序來說是

原创 Linux ALSA聲卡驅動之八:ASoC架構中的Platform

1.  Platform驅動在ASoC中的作用 前面幾章內容已經說過,ASoC被分爲Machine,Platform和Codec三大部件,Platform驅動的主要作用是完成音頻數據的管理,最終通過CPU的數字音頻接口(DAI)把音頻數

原创 Linux ALSA聲卡驅動之四:Control設備的創建

聲明:本博內容均由http://blog.csdn.net/droidphone原創,轉載請註明出處,謝謝! Control接口 Control接口主要讓用戶空間的應用程序(alsa-lib)可以訪問和控制音頻codec芯片中的多路

原创 Linux ALSA聲卡驅動之一:ALSA架構簡介

聲明:本博內容均由http://blog.csdn.net/droidphone原創,轉載請註明出處,謝謝! 一.  概述     ALSA是Advanced Linux Sound Architecture 的縮寫,目前已經成爲了l

原创 Linux ALSA聲卡驅動之二:聲卡的創建

聲明:本博內容均由http://blog.csdn.net/droidphone原創,轉載請註明出處,謝謝! 1. struct snd_card   1.1. snd_card是什麼 snd_card可以說是整個ALSA音頻驅動最頂

原创 Android Audio System 之一:AudioTrack如何與AudioFlinger交換音頻數據

引子 Android Framework的音頻子系統中,每一個音頻流對應着一個AudioTrack類的一個實例,每個AudioTrack會在創建時註冊到AudioFlinger中,由AudioFlinger把所有的AudioTrack

原创 ALSA聲卡驅動中的DAPM詳解之一:kcontrol

DAPM是Dynamic Audio Power Management的縮寫,直譯過來就是動態音頻電源管理的意思,DAPM是爲了使基於linux的移動設備上的音頻子系統,在任何時候都工作在最小功耗狀態下。DAPM對用戶空間的應用程序來說是

原创 Linux ALSA聲卡驅動之七:ASoC架構中的Codec

1.  Codec簡介 在移動設備中,Codec的作用可以歸結爲4種,分別是: 對PCM等信號進行D/A轉換,把數字的音頻信號轉換爲模擬信號對Mic、Linein或者其他輸入源的模擬信號進行A/D轉換,把模擬的聲音信號轉變CPU能夠處理

原创 Android Audio System線性音量和對數音量的轉換

Android的音頻系統的代碼中,應用程序對每個音頻流的音量做出調整後,最終會轉換爲一個係數K,所有的音頻數據在輸出到硬件之前,都要乘以係數K,只要應用程序發出調整音量的調用,中間層的Audio System就會重新計算係數K的值。對應用

原创 Android Audio System 之二:AudioFlinger

引言     AudioFlinger是Android音頻系統的兩大服務之一,另一個服務是AudioPolicyService,這兩大服務都在系統啓動時有MediaSever加載,加載的代碼位於:frameworks/base/medi

原创 Linux ALSA聲卡驅動之三:PCM設備的創建

聲明:本博內容均由http://blog.csdn.net/droidphone原創,轉載請註明出處,謝謝! 1. PCM是什麼 PCM是英文Pulse-code modulation的縮寫,中文譯名是脈衝編碼調製。我們知道在現實生

原创 Linux ALSA聲卡驅動之六:ASoC架構中的Machine

前面一節的內容我們提到,ASoC被分爲Machine、Platform和Codec三大部分,其中的Machine驅動負責Platform和Codec之間的耦合以及部分和設備或板子特定的代碼,再次引用上一節的內容:Machine驅動負責處