問題タブ [flutter-video-player]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - ストリーミング開始時間の問題 - Flutter
私はこのシナリオを持っています:
VideoPlayerController ウィジェットを使用してビデオ ストリーミングを再生する Flutter アプリがあります。この方法でコントローラーを初期化します。
Mux システム ( https://mux.com ) を使用してストリーミング ビデオを作成し、Mac の OBS アプリでストリーミングします。
ストリームを見始めたとき、私は正確にライブではないことに気付きました (実際のライブより数秒遅れている可能性があります)。正確な瞬間にアクションを実行する必要があります (たとえば、ライブ ブロードキャストが開始されてから 30 秒後にアクションを実行します)。私の問題はこれです:
すでに述べたように、ライブ ブロードキャストを見始めたとき、実際のライブ ブロードキャストと正確に同期していない可能性があります (たとえば、10 秒遅れている)。ライブを見始めて、実際に見ている瞬間。
例えば:
実際のライブ ストリームは瞬間 X で開始され、30 秒後に視聴を開始しますが、たとえば 10 秒の遅延があるため、実際のライブは瞬間 X + 30 であり、私は瞬間 X + 20 でライブを視聴しています。 .
プレーヤーのドキュメントを読むと、値を監視する必要があることがわかりました_controller.value.position.inSeconds
が、うまく機能しません。
この問題に対するアイデアはありますか?
flutter - Flutter でミニプレーヤーを閉じると VideoPlayer が黒くなる
miniplayer
ビデオ ウィジェットがある場所があります ( chewieとvideo_playerに依存するbetter_playerを使用します)。ミニプレーヤーを閉じたくない限り、すべてがうまく機能します。ビデオは黒い画面に置き換えられます。デバッグを行ったところ、何らかの理由でメソッドが2 回呼び出されることがわかりました (ミニプレーヤーの破棄を開始したときと、ミニプレーヤーの破棄を終了したとき)。以下は、この動作を示すビデオです。dispose()
video_widget
この問題を解決するのを手伝ってくれませんか?
編集
さらにデバッグを行ったところ、おそらくvideo widget
or better_player パッケージに関連していることがわかりました。また、chewie を使用するときの動作はほぼ同じですが、chewie を使用すると、ビデオを閉じ始めると 1 ミリ秒間黒くなり、その後再び初期化して最初から再生を開始することがわかりました。これが私のvideo widget
クラスのコードです。
却下を開始したときのログは次のとおりです
なんらかの理由で、このウィジェットは、dispose()
閉じ始めるときにメソッドを呼び出すと思います。しかし、なぜそれが起こっているのでしょうか?どうすればそれを防ぐことができますか?
flutter - キャンバスにビデオを表示するには?
目標は、キャンバスにビデオを表示し、キャンバスをビットマップとしてキャプチャすることです。
ウィジェットのビットマップをキャプチャしようとしました。そのために、スクリーンショットパッケージを使用しましたが、プラットフォーム ウィジェットに問題があるため、 video_playerウィジェットからビットマップを取得できません(ビデオ プレーヤーはプラットフォームに基づいています)。
たとえば、前にテキスト ウィジェット、後ろにビデオ ウィジェットがあり、フレームごとにビットマップが必要です。
前もって感謝します。
注: 回避策として、すべてのフレームを事前にデコードしてから、ビデオの代わりに画像シーケンスを表示することを考えていますが、フレームのデコードには時間と大量のメモリが必要なため、必要なオプションはありません。しかし、これよりも優れたオプションがあるはずだと思います。
同様の質問も見ましたが、ライブラリの線量RenderRepaintBoundary
としても使用されているscreenshot
ようですので、この問題は解決しないと思います