問題タブ [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.
ios - AVPlayer の addPeriodicTimeObserverForInterval の CMTime: コールバックがアイテムの持続時間に到達しない
AVPlayer の-(id)addPeriodicTimeObserverForInterval: queue: usingBlock:
メソッドを使用して、再生の進行状況まで UI を更新します。ただし、進行状況バーが最後まで到達しません。
ログ:
再生ボタンを押す
最後の数字が であることを期待すべきではありません3968.0
か?
オーディオはサーバーからストリーミングされます。
編集
最後の進捗番号は、 duration - 0.264 sec
実際の期間の長さが何であれ常にです。
これは非常に奇妙です。SO で絵文字を使用できればいいのにと思います。
ios - AVAssetExportSession は最初の 6 回のみ機能します
更新されたコード サンプル、コンソール出力、および情報
ビデオ構成の合計時間を取得し、それを 10 で割り、切り上げてから、それらの間隔でビデオ構成をループしてスプライスしようとしています。
動作しますが、「currentDuration」が 60+ になると、「要求された URL はこのサーバーで見つかりませんでした」というメッセージがスローされます。
基本的に、9 つのクリップを生成する必要があると判断した場合、最初の 6 つが成功し、残りの 3 つが失敗します。
9 つのクリップすべてをエクスポートするためのヘルプ/洞察が欲しいです。
動画の長さが 60 秒未満の場合、成功率は 100% です。60 秒を超えるビデオを選択すると、7 番目のクリップで失敗します。
これが私の方法です:
exportDidFinish メソッドは次のとおりです。
コンソール出力は次のとおりです。
ios - iOS で play メソッドを使用せずにビデオ フレームを表示する
ビデオ ファイル内の CMTime と fps の機能を理解しようとしています。forループを使用して、AVPlayerでビデオのすべてのフレームを表示しようとしています。このタスクは、AVPlayer の play メソッドを使用して簡単に実行できることを知っています。しかし、フレームがどのように正確に表示されるかを知りたいです。for ループを作成し、AVPlayer の seekToTime メソッドを常に更新することで、各フレームを 1 つずつ表示しようとしました。解決策を開発することはできますが、すべてのフレームが表示されず、ビデオがぎこちなく見えます。
これは私のコードです:
ここで、player は AVPlayer のインスタンス、asset は提示しようとしているフレームのビデオ アセットです。CMTimeMakeSeconds(t, asset.duration.timescale) も使用してみましたが、うまくいきませんでした。
あなたの提案をしてください。ありがとうございました。
swift - Swift 3 の CMTIME_COMPARE_INLINE?
比較したいので、CMTime
それに基づいてループを実行しています。に変換ObjectiveC
してSwift
いますが、 に適した方法が見つかりませんCMTIME_COMPARE_INLINE
。
のどのバージョンでも、この同様の問題に直面した人はいSwift
ますか?