java - 如何让exoplayer的ClippingMediaSource更加精准?

标签 java android exoplayer

我尝试使用 exoPlayer 使用它的 ClippingMediaSource 播放一小段 mp3 音频(44100 采样率),但它会将 fragment 的开头缩短大约 250 毫秒,太多了,是否可以使其更精确?

我这样启动exoplayer:

dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "com.example.player"));
Uri uri = Uri.fromFile(new File(path));
MediaSource audioSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
ExoPlayer exoPlayer = ExoPlayerFactory.newSimpleInstance(context, new DefaultTrackSelector());
exoPlayer.setPlayWhenReady(true);
ClippingMediaSource clip = new ClippingMediaSource(audioSource, 7_225_000, 8_175_000);
exoPlayer.prepare(clip);

最佳答案

根据exoplayer的文档,有两种方法

  1. ClippingMediaSource(MediaSource MediaSource, long startPosition, long endPositionUs)

创建一个新的剪辑源,它包装指定的源并在指定的开始和结束位置之间提供样本。

  1. ClippingMediaSource(MediaSource mediaSource, long startPositionUs, long endPositionUs, boolean enableInitialDiscontinuity)

使用 false 尝试第二种方法或调整 startPosition 和 endPosition。 如需更多检查,请查看 clipping documentation ExoPlayer 的。希望这会解决您的问题。

关于java - 如何让exoplayer的ClippingMediaSource更加精准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51903264/

相关文章:

java - for循环不执行

java - 无法使用 Android 'O' ASUS ASUS_Z010D (Android 6.0.1, API 23) (minSdk(API 25, O preview) != deviceSdk(API 23)) 编译

android - onBackPressed() 方向问题

offline - 安卓离线播放视频加密

java - Parcelable 继承 : abstract class - Which CREATOR?

java - 每 5 秒告诉 Java Servlet "executeQuery"

java - IntelliJ IDEA 多实例

使用Android SDK工具后Android图标比其他图标小很多?

android - Camera2人脸检测回调

android - 如果在 exoplayer 中第一个出现错误,我可以播放第二个媒体源吗?