問題タブ [avurlasset]
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.
iphone - naturalSizeがAVURLAssetから間違った方向を返す
[ここ][1]にあるコードを使用して、を使用して撮影したビデオに画像を添付しUIImagePickerController
ます。
ビデオは縦向きで正常に再生されますが、一度使用するAVURLASSet
と、縦向きではなく横向きになり、理由がわかりません。
誰かが私を正しい方向に向けることができますか?
私のコード:
この時点で、temppathの正しいサイズではなく480,360を取得します
iphone - 動画ファイルから音声を抽出
FFmpeg を使用せずにビデオファイルからオーディオを抽出するにはどうすればよいですか?
.mov から .m4a ファイルへの変換など、それを解決するために使用AVMutableComposition
したいと考えています。AVURLAsset
ios - ローカルオーディオファイルのAVURLAssetを取得する
私は現在、オーディオファイルで動作するiOSアプリを書いています。アプリの一部は、オーディオファイルの波形を作成することです。したがって、AVAssetReaderがオーディオファイルのデータを取得できるように、AVURLAssetオブジェクトが必要です。
iPhone / iPadのiPodライブラリの曲には問題はありませんが、アプリのドキュメントフォルダにあるオーディオファイルのAVURLAssetオブジェクトを取得しようとすると、問題が発生します。
ローカルソングのNSURLを持っていて、AVAudioPlayerでの再生は機能しますが、AVAssetReaderでAVURLAssetを読み込もうとすると、アプリがクラッシュします。
このエラーが発生する理由を誰かが知っていますか?
ありがとう!
クリス
macos - Mac OS で AVAsset を使用せずにビデオからサムネイルを生成する
ここには、NSFileWrappers で利用できるビデオからサムネイルを生成する必要があるドキュメント ベースのアプリがあります。問題は、filewrapper からファイルの URL を取得できず、URL なしで AVURLAsset を作成できないことです。
これを行う別の方法について誰か提案がありますか? ビデオのサムネイルを作成する AVAssetImageGenerator とは異なる方法か、ファイルラッパーのデータから AVAsset を作成する方法のいずれかですか?
iphone - __block 変数の値は変更されません
以下のコードは、アセットの値を非同期的に読み込みます。whileループを使って待ちます。
上記のコードのように NSLog ステートメントがコメント化されている場合、最後の NSLog は呼び出されません。NSLog ステートメントがコメント化されていない場合、最後の NSLog が呼び出されます。
ブロックとブロック外のコードは異なるスレッドで実行され、どちらもメイン スレッドではありません。
その理由は何ですか?
ios - AVURLAssets を使用した AVPlayer およびプログレッシブ ビデオ ダウンロード
AVPlayerを介してビデオ ファイルの再生を提供する必要があるアプリを開発中です。ファイルはユーザーのデバイスに保存する必要がありますが、ダウンロード中に再生する必要もあります。
現時点では、ASIHTTPRequestライブラリを使用して PHP 経由でビデオ ファイルを取得し (パブリック URL 経由でメディアをリンク可能にしたくありません)、それらを非同期的にディスクに書き込むダウンロード モジュールを作成しました。
次に、 AV Foundation Programming Guideに従って AVPlayer をセットアップし、AVURLAsset を使用してファイルを取得し、アセットを使用して AVPlayerItem を作成し、アイテムを使用して AVPlayer を構築し、プレーヤーを AVPlayerLayer に設定しました。プレーヤーは、完全にダウンロードされたビデオ ファイルで正常に動作し、プログレッシブにダウンロードされたファイルもシミュレーターで完全に正常に動作します。
残念ながら、実際のデバイスでは、プレーヤーの動作が変わります。代わりに、ビデオを 1 回ロードし、ディスクから新しいパケットを取得しようとしないように見えます。その結果、プレーヤーは、アセットがロードされた時点でダウンロードの進行状況を示すビデオのポイントまでビデオとオーディオを再生します(たとえば、2MB のデータがバッファリングされてからプレーヤーが作成される場合、プレーヤーは最大 2MB 分のデータを再生できます)。ビデオのヘッダーがあるため、プレーヤーはビデオの全期間にわたって再生されていると喜んで考え続けますが、他のビデオが画面にレンダリングされることはありません。
最後の問題は、ビデオが AVComposition に挿入され、それを使用して AVPlayer が作成された場合、プログレッシブ ビデオが正常に再生されることです。これは素晴らしい解決策です (また、場合によってはアプリに必要です) が、アプリのクライアントは、ビデオが AirPlay 経由で Apple TV で再生可能であることを要求しますが、AVCompositions はこれができません。
AVURLAssets から構築された AVPlayer を使用して、プログレッシブ ダウンロード ビデオ ファイルを再生する方法があるかどうかは誰にもわかりませんか? ビデオをメモリにキャッシュしているように見えるのではなく、AVURLAsset を使用して、AVComposition で行うように、player/playerItem を強制的にディスクから読み取る方法はありますか?
ありがとう!
iphone - mp3 の長さはゼロを返します
インターネットから mp3 ファイルの長さを取得したいので、次のコードを使用します。
しかし、バンドルからローカルファイルにURLを変更すると、常に0が返されます.それを正しく行う方法はありますか?
iphone - AVMutableVideoComposition にサウンドを複数回追加する
を使用しAVMutableVideoComposition
てビデオとオーディオを追加しています。
複数のビデオ ファイルとオーディオ ファイルをつなぎ合わせていますが、基本的には問題なく動作します。
このコードを使用してオーディオを追加しています。
パスは正しく (NSLog を使用して確認)、partZeroTime はすべてのオーディオ トラックの挿入ポイントです (オーディオはビデオの冒頭でのみ再生されます)。オーディオ ファイルは常に同じです (一部の m4a ファイル)。
ただし、これは最初のオーディオでのみ機能します。後続のオーディオはすべて再生されません。オーディオ アセットを追加してもエラーは発生しません。
また、音楽用に別のトラックを作成しようとしましたが、同じ結果になりました。
何か案は?
[編集]
私が何をしたいのか完全に明確ではないかもしれないので、ここに詳細があります: AVMutableComposition でつなぎ合わせたいくつかのクリップのビデオ構成があります。イントロ (音楽を追加しようとする場所) が含まれ、その後に 1 つまたは 2 つのクリップ、別のイントロ (音楽付き)、さらにビデオが続きます。--music--silence--music--silence のように、音楽用に別のトラックを追加しました。
で沈黙を追加しようとしましinsertEmptyTimerange
たが、これは基本的にすべてを台無しにします。次にinsertTimeRange:tr ofTrack:nil
... を使用すると、以前と同じ結果が得られます。最初の音楽クリップが再生されますが、後続のすべてのクリップは再生されません...
私はこれで髪を引っ張っています...
objective-c - オブジェクト c を使用して mp3 ファイルのメタデータを抽出する方法は?
AVURLAsset は mp3 ファイルのメタデータを抽出できますが、mp3 ファイルの拡張子名が '.mp3' でない場合、AVURLAsset はメタデータを取得できません。「.mp3」ファイルのメタデータではなく拡張子名を取得するにはどうすればよいですか?
objective-c - AVURLAssetのファイル名を取得するには?
次のように AVURLAsset の URL を取得します。
コンソールでは、AVURLAsset の URL は次のようになります。
assets-library://asset/asset.mov?id=A3210417-4BAC-1C78-BD93-4BDD286247D9&ext=mov
次のようなURLから拡張子付きのファイル名を取得しようとしました:
tnFileName のコンソール ログは次のとおりです。
tnFileName = asset_tn.mov
A3210417-4BAC-1C78-BD93-4BDD286247D9 部分の文字列を取得するにはどうすればよいですか? または、アセットの静止画像をキャッシュするために使用するアセットの別の一意の ID はありますか?
明確にするために、サムネイルをディスクに保存するためにこれが必要であり、アセットに一致する名前を使用したいと考えています。