問題タブ [mediasession]

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.

0 投票する
1 に答える
139 参照

android - MediaPositionState が誤った currentTime を表示する

それで、ここに問題があります。反応プロジェクトで audio html5 要素を使用しています。問題の典型的な流れは次のとおりです。曲を再生しています。ユーザーは一時停止を押します (時間が 1.20 であるとしましょう)。ユーザーが電話をロックします。数分後、ユーザーが携帯電話のロックを解除し、「再生」ボタンを押すと、次のようになります。 mediaPositionState は、現在の時刻だけをカウントするのではなく、現在の時刻をオーディオの現在の時刻 (1.20) に加えてカウントします。この余分な 1.20 は、曲を変更しても残ります。以下のuseEffectでそれを制御しようとしました

ただし、ユーザーがオーディオに焦点を合わせている場合にのみ正常に機能します。

また、次のコードがあります。

通常、問題を説明する方法がわかりません。ユーザーが MediaSession 通知をスワイプしたときに mediaposition が台無しになると仮定しましょう。ご要望があれば、より多くのコードを提供します。また、スクリーンショットを提供します(問題を強制しようとしたにもかかわらず、同様の問題が発生しました:トラックの終わりとして時間が表示されます)。

現在の曲時間 現在の曲時間

現在の曲の時間は一時停止しても問題ありません 現在の曲の時間は一時停止しても問題ありません

再生時に現在の曲の時間がめちゃくちゃになる 再生時に現在の曲の時間がめちゃくちゃになる

リクエストによるupdateTime関数の追加は、react.Contextの状態を更新するためだけのものです

また、完全なレデューサーは次のようになります (役に立たないと思います)。

私の問題を見ることができるコードサンドボックスを作成しました。https://codesandbox.io/s/wizardly-wiles-87qi1?file=/src/App.js 真に理解するには、Android フォンを使用してください