部分人使用audiotrack,有可能会发现audiotrack的回调方法不回调,其实很多情况下是这样子的:
一般的音频数据源会起一个线程获取,一般新起的线程都没有looper,而audiotrack的创建必须要一个looper,如果没有拿到当前线程的looper,就会默认拿mainthread即主线程的looper,以后所有的回调方法都会抛给looper处理,即在looper所绑定的线程执行,如果looper绑定的线程阻塞了,那么所有的回调都会因为阻塞而无法执行。
部分人使用audiotrack,有可能会发现audiotrack的回调方法不回调,其实很多情况下是这样子的:
一般的音频数据源会起一个线程获取,一般新起的线程都没有looper,而audiotrack的创建必须要一个looper,如果没有拿到当前线程的looper,就会默认拿mainthread即主线程的looper,以后所有的回调方法都会抛给looper处理,即在looper所绑定的线程执行,如果looper绑定的线程阻塞了,那么所有的回调都会因为阻塞而无法执行。