java – 来自AudioTrack流的通知消息

我已经实现了一个写入AudioTrack对象的PCM解码器.

一切看起来都很棒,但是,当最后写入的块停止播放时,我需要从AudioTrack对象获得某种通知.

我注意到有回调方法,如setNotificationMarkerPosition,但是,我找不到任何有关如何使用它们的大量文档.

提前致谢!

最佳答案 要获得AudioTrack回调,您可以设置标记回调或使用定期回调.我已经看到有关标记问题的报告,所以你可能想尝试两者.

对于标记回调,首先使用您想要调用的任何帧编号调用setNotificationMarkerPosition.

对于定期回调,请调用setPositionNotificationPeriod,它将调用每个x帧.

无论哪种方式,您都需要调用setPlaybackPositionUpdateListener来注册回调.这将调用两个方法,onMarkerReached(如果它到达标记)或onPeriodicNotification每个设定的帧数.您可以选择使用其中一个或两个.两个回调都引用您用来设置它的AudioTrack实例.

默认情况下,它将在创建AudioTrack实例的同一线程中回调.或者,您可以在注册回调时传递处理程序以将其发送到另一个线程.

点赞