在我的应用程序中,我将创建多个音频轨道,其中一些将需要同时播放.我将使用MODE_STREAM并在应用程序运行时写入数据.声音将动态生成,这就是我使用Audio Track而不是其他任何东西的原因.
我相信有4种选择:
> AsyncTask
>一个UI线程和一个管理所有AudioTrack播放的线程
>每个AudioTrack一个UI线程和一个线程
>一个UI线程和一个Thread Pool
四种方法中哪一种是管理多个AudioTracks的最佳方式?
我认为线程池是可行的方法,但我并不积极,因为我没有真正使用它.
任何建议将不胜感激
解决方法:
为简单起见,我每次播放AudioTrack时都只创建一个新线程.
但是,不管它真的没关系.我发现当尝试一次播放多个AudioTrack时,会发出噼里啪啦声.我相信这只是Android系统的一个问题,而不是我的应用程序.
从API级别9(姜饼)开始,我可以将会话ID应用到音频轨道,我相信我可以使用SoundPool播放它,这样可以使多个AudioTracks的播放更加顺畅.
现在,由于有多少用户仍在使用2.2,而且我没有使用姜饼设备,我将把这个项目放到一边,直到以后.