1.有线耳机:(mType:4,OFFLOAD)
一个线程
PlaybackThread::threadLoop()
PlaybackThread::threadLoop_write()
//获取时间戳的线程
NuPlayer::Renderer::fillAudioBuffer()
NuPlayer::Renderer::getPlayedOutAudioDurationUs()
MediaPlayerService::AudioOutput::getTimestamp()
AudioTrack::getTimestamp()
TrackHandle::getTimestamp()
PlaybackThread::Track::getTimestamp()
PlaybackThread::getTimestamp_l()
mOutput->getPresentationPosition
2.蓝牙耳机:(mType:0,MIXER)
//获取时间戳的线程
NuPlayer::Renderer::onMessageReceived()
NuPlayer::Renderer::onDrainAudioQueue()
NuPlayer::Renderer::onNewAudioMediaTime()
NuPlayer::Renderer::getPendingAudioPlayoutDurationUs
NuPlayer::Renderer::getPlayedOutAudioDurationUs()
MediaPlayerService::AudioOutput::getTimestamp()
AudioTrack::getTimestamp()
TrackHandle::getTimestamp()
PlaybackThread::Track::getTimestamp()
AudioStreamOutSink::getTimestamp()
//另一个线程
PlaybackThread::threadLoop()
MixerThread::threadLoop_write()
PlaybackThread::threadLoop_write()
可以发现是两套不同的流程,具体细节以后再研究吧