問題タブ [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.

0 投票する
2 に答える
2335 参照

ios - AVPlayer の addPeriodicTimeObserverForInterval の CMTime: コールバックがアイテムの持続時間に到達しない

AVPlayer の-(id)addPeriodicTimeObserverForInterval: queue: usingBlock:メソッドを使用して、再生の進行状況まで UI を更新します。ただし、進行状況バーが最後まで到達しません。

ログ:

再生ボタンを押す

最後の数字が であることを期待すべきではありません3968.0か?

オーディオはサーバーからストリーミングされます。

編集

最後の進捗番号は duration - 0.264 sec実際の期間の長さが何であれ常にです。

これは非常に奇妙です。SO で絵文字を使用できればいいのにと思います。

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

ios - AVAssetExportSession は最初の 6 回のみ機能します

更新されたコード サンプル、コンソール出力、および情報

ビデオ構成の合計時間を取得し、それを 10 で割り、切り上げてから、それらの間隔でビデオ構成をループしてスプライスしようとしています。

動作しますが、「currentDuration」が 60+ になると、「要求された URL はこのサーバーで見つかりませんでした」というメッセージがスローされます。

基本的に、9 つのクリップを生成する必要があると判断した場合、最初の 6 つが成功し、残りの 3 つが失敗します。

9 つのクリップすべてをエクスポートするためのヘルプ/洞察が欲しいです。

動画の長さが 60 秒未満の場合、成功率は 100% です。60 秒を超えるビデオを選択すると、7 番目のクリップで失敗します。

これが私の方法です:

exportDidFinish メソッドは次のとおりです。

コンソール出力は次のとおりです。

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

ios - iOS で play メソッドを使用せずにビデオ フレームを表示する

ビデオ ファイル内の CMTime と fps の機能を理解しようとしています。forループを使用して、AVPlayerでビデオのすべてのフレームを表示しようとしています。このタスクは、AVPlayer の play メソッドを使用して簡単に実行できることを知っています。しかし、フレームがどのように正確に表示されるかを知りたいです。for ループを作成し、AVPlayer の seekToTime メソッドを常に更新することで、各フレームを 1 つずつ表示しようとしました。解決策を開発することはできますが、すべてのフレームが表示されず、ビデオがぎこちなく見えます。

これは私のコードです:

ここで、player は AVPlayer のインスタンス、asset は提示しようとしているフレームのビデオ アセットです。CMTimeMakeSeconds(t, asset.duration.timescale) も使用してみましたが、うまくいきませんでした。

あなたの提案をしてください。ありがとうございました。

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

swift - Swift 3 の CMTIME_COMPARE_INLINE?

比較したいので、CMTimeそれに基づいてループを実行しています。に変換ObjectiveCしてSwiftいますが、 に適した方法が見つかりませんCMTIME_COMPARE_INLINE

のどのバージョンでも、この同様の問題に直面した人はいSwiftますか?