問題タブ [cmtime]
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.
swift - カスタムの開始/終了時間で AVPlayer をループする
AVPlayer を使用してビデオを再生しています。ユーザーの入力に基づいてビデオのセクションをループできるようにしたいと思います (ビデオの再生中に、ユーザーはボタンを押してループを開始し、もう一度押して数秒後に終了することができます。開始時間に再生を開始し、現在の時間が指定された終了時間に達するとループを継続する必要があります)
プレーヤーの currentTime を取得するだけで、これらの開始/終了ループ時間を取得できます
次のように、再生が終了したら、ビデオをきれいにループして最初に戻す方法があることを私は知っています。
カスタムの startLoop 時間と endLoop 時間でこれを行う方法があるかどうか疑問に思っていましたか?
ios - 意図したフレームレートで CVPixelBuffers を AVAssetWriterInputPixelBufferAdaptor に追加しようとしています
意図したフレームレートで CVPixelBuffers を AVAssetWriterInputPixelBufferAdaptor に追加しようとしていますが、速すぎるようで、計算がうまくいきません。これはカメラからのキャプチャではなく、変化する画像のキャプチャです。実際のビデオは、キャプチャされた経過時間よりもはるかに高速です。
1/24 秒ごとに CVPixelBuffer を追加する関数があります。そこで、前回に 1/24 秒のオフセットを追加しようとしています。
私はもう試した:
と:
と:
私は currentSampleTime に追加し、次のように追加しています。
私が考えたもう1つの解決策は、前回と現在の時間の差を取得し、それをcurrentSampleTimeに追加して正確にすることですが、その方法は不明です。
swift - AVPlayer プレーヤーの定期的な時間オブザーバー ブロックから MPNowPlayingInfoCenter の再生時間を更新する際の問題
プレイ情報の更新に問題があります。添付のgifを見てください。レコード再生の最後に、誤った値に設定されます。
MPNowPlayingInfoPropertyElapsedPlaybackTime
タイマー ブロックのキーで値を更新します。値が有効かどうかを確認し、秒に変換して値を設定します。の値MPMediaItemPropertyPlaybackDuration
はイニシャライザから設定されます。
私が見つけた最も近い解決策は、playerDidFinishedPlaying
func で再生時間を再度設定することです。この場合、進捗スライダーは最後まで進みますが、まだ少し戻っていることがわかります。
プレーヤーの実装は次のとおりです。