美文网首页
Android:音频系统总结

Android:音频系统总结

作者: 我在等你回复可你没回 | 来源:发表于2019-06-21 09:45 被阅读0次

    AudioTrack::start方法做了什么?

    TrackBase 是什么?

    是共享内存,跟play线程使用的。

    AudioTrack是怎么创建的?

    通过AudioFlinger来创建的

        sp<IAudioTrack> track = audioFlinger->createTrack(streamType,
                                                          mSampleRate,
                                                          mFormat,
                                                          mChannelMask,
                                                          &temp,
                                                          &trackFlags,
                                                          mSharedBuffer,
                                                          output,
                                                          mClientPid,
                                                          tid,
                                                          &mSessionId,
                                                          mClientUid,
                                                          &status);
    

    最后在AudioFlinger又是通过PlaybackThread来创建track

            track = thread->createTrack_l(client, streamType, sampleRate, format,
                    channelMask, frameCount, sharedBuffer, lSessionId, flags, tid, clientUid, &lStatus);
    

    那就是说一个Track其实是跟一个播放线程绑定的。

            track = new Track(this, client, streamType, sampleRate, format,
                              channelMask, frameCount, NULL, sharedBuffer,
                              sessionId, uid, *flags, TrackBase::TYPE_DEFAULT);
    

    在AudioFlinger中Trace的形式是什么?

    是TrackHandle

    相关文章

      网友评论

          本文标题:Android:音频系统总结

          本文链接:https://www.haomeiwen.com/subject/fveeqctx.html