0

有没有办法自动让音频延迟在视频播放器中设置?每次手动修复它真的很烦人。

Exoplayer(yt 中使用的谷歌原生播放器)使用 getLatency 方法,不是公共 SDK 的一部分(https://github.com/google/ExoPlayer/blob/b5beb32618ac99adc58b537031a6f7c3dd761b9a/library/core/src/main/java/com/ google/android/exoplayer2/audio/AudioTrackPositionTracker.java#L172)所以我不能复制这个,因为 xamarin 没有在 c# 包装器中包含这个方法

var method = typeof(AudioTrack).GetMethod("getLatency"); // => null

(从https://developer.amazon.com/docs/fire-tv/audio-video-synchronization.html#section1-2尝试过的东西)

我还尝试在 vlc 中找到原生绑定 android 音轨以获取 getTimestamp 或 getPlaybackHeadPosition,但我没有成功。

有什么方法可以在 android 上的 xamarin.forms 中获取由蓝牙耳机引起的音频延迟?

有什么方法可以从 libvlc 中获取 android AudioTrack(如果使用的话)?

4

1 回答 1

0

你不能。LibVLC 不提供检测由外部扬声器引起的延迟。您最好的选择是手动同步它SetAudioDelay(或编写具有该功能的 libvlc 插件)。

编辑:被核心开发人员告知延迟在除 Android 之外的所有平台上都有处理。你可能想测试一下。无论如何,它可能会在未来的 libvlc android 版本中发生。

于 2021-01-11T11:55:25.397 回答