Linux Kernel LayerThe core system services of Android are based on Linux2.5 kernel, such as security, memory management, processmanagement, network protocol stack and driving model.Linux kernel is also the abstract layer between the hardwareand software stacks.What Android need more is the drivers associated withthe mobile drivers, and the main drivers are as follows:DisplayDriver: based on the Frame Buffer Driver ofLinux.KeyBoard Driver: the driver of input device, keyboard.Flash MemoryDriver: Flash driver based on MTD.Camera Driver: the commonlyused Video for Linux(v412) Driver based on Linux.Audio Driver: the commonlyused Advanced LinuxSound Architecture (ALSA).Bluetooth Driver: wireless transferring:radiotransmission technology based on IEEE 802.15.1.WiFi Driver: based on IEEE 802.11.Binder IPC Driver: a special driver of Android, whichhas a single device node to provide communicationfunctions between processes.Power Management: such as battery electric quantity .CodeShoppy
ANDROID PROGRAM DESIGN AND DEVELOPMENT FOR AUDIO/VIDEOFILE PROCUREMENT Section 2 has mentioned that OpenCORE is the core ofAndroid media framework, and the procurement andplaying of all the audio and video files are completed by it.Programmers can develop the media programs, such asrecording, playing, playerback, video-conference andDirectShow streaming media. OpenCore contains twoaspects from the macro perspective :PVPlayer:provides the functions of mediaplayers,namely the Playerback function of audios and videos.PVAuthor:provides the functions of streamingmediarecording, namely the Procurement function of audios,video streams and static graphs.PVPlayer and PVAuthor are provided for developers inthe form of SDK, above which many applications andservices can be constructed. The mobile terminals oftenapply media applications, such as media player, camera,edio, recorder. In fact, OpenCORE contains a lotof contents: from the playing perspective, Source output byPVplayer is file or network media stream, and Sink to theoutput device of audio or vedio, which have basic functionsof media stream control, file parsing, audio/vedio streamdecode. Except for playing media files, it contains RTSPstream associated with network. From the perspective ofmedia stream recording, what the PVAuthor input aredevices like camera and microphone, and what it output arevarious files, including stream synchronization, audio/videoencode and read-in of files.This section will introduce the Android program designand development with OpenCORE for audio/video file procurement.
ndroid Program Development and AnalysisHere we will show the key codes in the program:private Button StartButton;private Button StopButton;/*Set two buttons: “start” and “stop”*/if(Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))/*Check if there exists SD card, if no, the screen shows”No SD Card”*/mRecAudioFile=File.createTempFile(strTempFile,”.amr”,mRecAudioPath);/*Create the audio file*/mMediaRecorder=newMediaRecorder();/*Instantiate the MediaRecorder*/mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);/*Set the microphone*/mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);/*Set the output file format*/mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);/*Set the audio file encoder*/mMediaRecorder.setOutputFile(mRecAudioFile.getAbsolutePath());/*Set the output file path*/Complete programs for audio&video recording are asfollows, which is similar with the above programs:path=”/sdcard/v.3gp”;recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setVideoSize(176,144);recorder.setVideoFrameRate(15);recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setOutputFile(paBased on the architecture introduction of Androidplatform, this paper shows the Android program design anddevelopment for audio/video file procurement. It mainlyapplies OpenCORE and MediaRecorder class. After the test,our program can successfully realize the procurement andplaying of the audio/video files with fast execution speedand good user experience.