Android Audio代码分析1

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 16:17 点击:

 

计划从接口的使用,开始分析Audio相关源码。

此处的代码为Android中自带的测试代码。

由于本人惰性,不打算将所有函数全部细说。主要函数,会拿来细细品味;本人认为非主要的函数,将一笔带过。

主要非主要,是从本人当前项目的需要来看的。

 

 

*****************************************源码*************************************************

public void testWriteByte() throws Exception {

        // constants for test

        final String TEST_NAME = "testWriteByte";

        final int TEST_SR = 22050;

        final int TEST_CONF = AudioFormat.CHANNEL_OUT_MONO;

        final int TEST_FORMAT = AudioFormat.ENCODING_PCM_16BIT;

        final int TEST_MODE = AudioTrack.MODE_STREAM;

        final int TEST_STREAM_TYPE = AudioManager.STREAM_MUSIC;

       

        //-------- initialization --------------

        int minBuffSize = AudioTrack.getMinBufferSize(TEST_SR, TEST_CONF, TEST_FORMAT);

        AudioTrack track = new AudioTrack(TEST_STREAM_TYPE, TEST_SR, TEST_CONF, TEST_FORMAT,

                2*minBuffSize, TEST_MODE);

        byte data[] = new byte[minBuffSize];

        //--------    test        --------------

        assumeTrue(TEST_NAME, track.getState() == AudioTrack.STATE_INITIALIZED);

        assertTrue(TEST_NAME,

                track.write(data, 0, data.length) == data.length);

        //-------- tear down      --------------

        track.release();

    } www.2cto.com

***********************************************************************************************

源码路径:

frameworks\base\media\tests\mediaframeworktest\src\com\android\mediaframeworktest\functional\MediaAudioTrackTest.java

 

 

###########################################说明##############################################################

1、TEST_NAME就不作说明了。

2、TEST_SR,是函数AudioTrack.getMinBufferSize的第一个参数。

   关于该参数的注释为:

     the sample rate expressed in Hertz. 也就是以赫兹为单位的采样率。

   函数AudioTrack.getMinBufferSize将会细品,此处就不再累述。

3、TEST_CONF,是函数AudioTrack.getMinBufferSize的第二个参数。

   关于该参数的注释为:

     describes the configuration of the audio channels.

     *   See {@link AudioFormat#CHANNEL_OUT_MONO} and

     *   {@link AudioFormat#CHANNEL_OUT_STEREO}

   我们看到,其赋值为AudioFormat.CHANNEL_OUT_MONO。那就先说说AudioFormat。

   类AudioFormat的英文注释如下:

/**

 * The AudioFormat class is used to access a number of audio format and

 * channel configuration constants. They are for instance used

 * in {@link AudioTrack} and {@link AudioRecord}.

 *

 */

   看了下其内容,主要包括各种track和record的channel的定

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1