标签: bunnycdn

video_player 在 Android 上返回 401 Unauthorized with Bunny CDN

以下经典代码片段无法从 Bunny CDN 获取视频

@override
void initState() {
  super.initState();
  controller = VideoPlayerController.networkUrl(Uri.parse(widget.video),
                          httpHeaders: {"AccessKey": CDN_READ_ONLY_TOKEN});
  controller.initialize();
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

E/ExoPlayerImplInternal(14202): Playback error
E/ExoPlayerImplInternal(14202):   com.google.android.exoplayer2.ExoPlaybackException: Source error
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644)
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616)
E/ExoPlayerImplInternal(14202):       at android.os.Handler.dispatchMessage(Handler.java:103)
E/ExoPlayerImplInternal(14202):       at android.os.Looper.loop(Looper.java:224)
E/ExoPlayerImplInternal(14202):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(14202):   Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 401
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:413)
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:263)
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84)
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1005)
E/ExoPlayerImplInternal(14202):       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
E/ExoPlayerImplInternal(14202):       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(14202):       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(14202):       at java.lang.Thread.run(Thread.java:919)
Run Code Online (Sandbox Code Playgroud)

我认为问题出在 accessKey 上,但是:

  • 该应用程序在 iOS 上完美运行
  • 来自应用程序中其他任何位置的正常获取请求具有正确的标头,可以按预期工作。

在检查了 github …

android flutter flutter-video-player bunnycdn

7
推荐指数
1
解决办法
178
查看次数

标签 统计

android ×1

bunnycdn ×1

flutter ×1

flutter-video-player ×1