Playback Info Provider
interface PlaybackInfoProvider
Interface for providing playback timing information.
Used to synchronize audio recording with playback of a backing track. Any playback source (SonixPlayer, custom players, etc.) can implement this interface to provide timing data for recording synchronization.
Usage
// SonixPlayer provides this via asPlaybackInfoProvider
val player = SonixPlayer.create(config)
val recorder = SonixRecorder.create(
SonixRecorderConfig.Builder()
.playbackSyncProvider(player.asPlaybackInfoProvider)
.build()
)
// For custom sources (e.g., YouTube player)
class YouTubePlayerProvider(private val player: YouTubePlayer) : PlaybackInfoProvider {
override val currentTimeMs: Long get() = player.currentTimeMillis.toLong()
override val durationMs: Long get() = player.durationMillis.toLong()
override val isCurrentlyPlaying: Boolean get() = player.isPlaying
}Content copied to clipboard
See also
Sonix Player. as Playback Info Provider
Sonix Recorder