問題タブ [alasset]

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 に答える
1390 参照

iphone - ALAssets ライブラリで表示されるフォト アルバムの順序

ライブラリを使用してALAssets、カスタム イメージ ピッカー コントローラーを作成しています (写真アプリとよく似ています)。具体的にはenumerateGroupsWithTypes、アルバムのリストを作成するために使用しているので、それらをテーブルに入れることができます。この方法を使用すると、写真アプリとは逆の順序でリストが作成されるため、アルバムが逆に表示されることに気付きました。例えば:

写真アプリでは、次のようにアルバムが表示されます。 ここに画像の説明を入力

私のアプリはこのようにアルバムを表示します: ここに画像の説明を入力

明らかな解決策は、アルバムをアレイの背面ではなく前面に追加することですが、これが通常の動作なのか、それともバグなのか知りたいですか? 「Test Row」と「Test Row 2」は、ios5の新しいオプションである写真アプリで自分のアルバムを作成できる機能を使って作成したものですが、他の方法でアルバムを追加するのはどうかと思います (iPhoto など、方法がわかりません)。する必要があります)、それらは正しく順序付けられていますか? 誰かがこれに出くわしましたか?

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

objective-c - ALAssetOrientation と UIImageOrientation を使用して正しい向きを決定する際の問題

iPhone で画像の向きを正しく設定するのに問題があります。AssetLibrary クラスを使用して画像にアクセスしています。

私がやりたいのは、表示用に画像を適切に配置することだけです。残念ながら、ポートレートモードで撮影された一部の画像では、意味をなさない方向になっています。

フレームワークによって呼び出されるブロックでは、iPhone のカメラが「上」を向いている間に撮影された写真に対して、次の呼び出しを行っています。

私は向きの値を使用して画像を回転させ、「上」に見えるようにしました。残念ながら、横向きモードで撮影した画像がある場合、向きが正しくないため、同じコードは機能しません。

scale:orientation: オーバーロードを使用して、方向パラメーターに orient を使用して timg をインスタンス化しようとしましたが、方向を設定する画像を初期化するだけで、画像が正しく回転しません。

これは決定論的ではないように思えますが、これらの呼び出しが異なる結果を返す理由は次のとおりです。

どうぞよろしくお願いいたします。

ありがとう、ウィル

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

objective-c - AssetsLibrary、すべての写真を列挙する方法は?

これよりもデバイス上のすべての写真を列挙するより良い方法はありますか?

アセット グループごとにこれを行います ...

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

xcode - UIImagePickerController からトリミングされたビデオ ファイル サイズを取得する

を使用してビデオを選択した後UIImagePickerController、ビデオのファイル サイズをその [defaultRepresentation size].
ただし、ピッカーのトリミング オプションを有効にする[defaultRepresentation size]と、元のトリミングされていないビデオと同じファイル サイズが返されます。

トリミングされたビデオのファイルサイズを取得する方法はありますか?

とても有難い...

はい、コードを含める必要がありました。私が悪い。

私が達成しようとしているのは、ユーザーに既存のビデオを選択してトリミングしてから、トリミングしたバージョンをアップロードさせることです。アップロード中にプログレス バーに入力するために、トリミングされたバージョンのファイル サイズが必要です。トリミングされたバージョンの期間もお願いします。

呼び出し方法は次のとおりです。

ユーザーがトリミングして [選択]を押した後に起動するデリゲート メソッドは次のとおりです。

vvi私自身のカスタムクラスです。2 つの NSLog は、元のトリミングされていないビデオの長さとサイズを返します。で指定されたビデオ[vvi setRawSourceVideoFileURL:[info objectForKey:UIImagePickerControllerMediaURL]];は、適切にトリミングされたビデオを返します。

ありがとうございます!

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

iphone - ALAssetsLibrary からの読み取りと UITableView への入力を高速化する可能な方法

現在、ALAssetsLibrary を使用して、ALAssetsGroupSavedPhotos と ALAssetsGroupLibrary から写真を収集しています。すべてのアセットを配列に読み取ったら、UITableView ([myTable reloadData]) にデータを入力して写真を表示します。

ユーザーが多くの写真を持っている場合、遅延が増加することがわかりました。物事をスピードアップする方法はありますか?デフォルトの UIIMagePicker は、カメラ ロールまたはフォト ライブラリ内の写真の数にもかかわらず、まったく遅延がないようです。同じ速度を達成する方法はありますか?

ありがとうございました!

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

iphone - ALAsset ビデオ圧縮

私はSOを調べましたが、この質問に対する有効な答えが見つかりませんでした。ALAssets を使用してカスタム イメージ ピッカーを作成しましたが、通常のイメージ ピッカーではないため、ビデオの自動圧縮はありません。

これは、アセットからビデオ NSData を取得する方法です。

問題は、大きなビデオ ファイルを選択すると、メモリ警告が表示されるため、アプリがクラッシュすることです。ビデオファイルがそれほど大きくならないように、ビデオを圧縮したり、トリミングしたりする方法はありますか?

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

iphone - ALAsset valueForProperty:ALAssetPropertyLocationは宣言されていませんか?

これは簡単すぎるように思えるかもしれませんし、私にとっては混乱しているかもしれません...あるいは、私は疲れすぎて合理的に考えることができないかもしれません。

imagePickerControllerを使用して、フォトアルバムからユーザーが選択したUIImageの場所を取得しようとしています。

ここで、ALAssetのvalueForPropertyを呼び出そうとすると、問題が発生します。これは私が得ているエラーです:

宣言されていない識別子「ALAssetPropertyLocation」の使用。

助けてください!これは本当にイライラしています...写真の場所が必要です...

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

iphone - ALAssetsLibrary-ALAssetsLibraryChangedNotificationを受信した後にクラッシュする

私のアプリの一部には、AppleのPhotosアプリにいくぶん似た写真ブラウザがあり、写真のサムネイルを閲覧するための初期ビューコントローラと、写真をタップしたときに表示される詳細ビューがあります。

ALAssetsLibraryを使用して写真にアクセスし、ALAsset URLの配列を詳細ビューコントローラーに渡して、ある写真から次の写真にスワイプできるようにします。

(詳細ビューコントローラで)ある写真から別の写真にスワイプしているときにALAssetsLibraryChangedNotificationを受信するまで、すべてがうまく機能します。これにより、クラッシュが発生することがよくあります。

通知:アセットライブラリが変更されました//通知が発生したときの自分のNSLog

アセットを読み込んでいます...//サムネイルブラウザでアセットのリロードを開始するときの自分のNSLog

アサーションに失敗しました:(size == bytesRead)、関数-[ALAssetRepresentation _imageData]、ファイル/SourceCache/AssetsLibrary/MobileSlideShow-1373.58.1/Sources/ALAssetRepresentation.m、行224。

クラッシュする特定のコード行は、次のように[currentRepメタデータ]を呼び出すことです。

通知を受信すると、ALAssetおよびALAssetRepresentationオブジェクトへの参照が無効になることを理解しています...しかし、アクセスしようとしている最中に何かが無効になる状況にどのように対処する必要がありますか?

通知を受け取ったときにBOOLを設定して、[currentRepメタデータ]が完全に中止されて呼び出されないようにしましたが、それでも毎回キャッチされるわけではありません。

何か私にできることはありますか?この時点で、ALAssetsLibraryフレームワークの使用をあきらめる準備がほぼ整いました。

(同じ問題を説明しているApple devフォーラムのこの未解決のスレッドに注意してください:https ://devforums.apple.com/message/604430 )

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

ios - iOSフォト(カメラロールなど)から画像の作成日時または最終変更日時を取得するにはどうすればよいですか?

私はiOSの新人です。最近、私はiOSアプリケーションを開発しており、(iOSフォトで)作成された日時と変更された日時をチェックして、これらの画像を時間で並べ替える必要があります。ALAssetsLibraryを使用してすべての画像を列挙しました。各画像の次の属性を取得できます:画像ファイル名、画像アセットURL(その中で、画像ファイル拡張子と一意のアセットIDを取得できます)。しかし、誰かが画像ファイルの作成日時と最終変更日時を取得する方法を教えてもらえますか?

どうもありがとう。

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

ios - iOS ALAssetsLibrary の ALAsset オブジェクトを置き換える

画像の地理的位置を読み取り、ユーザーがこの情報を変更してこのデータを書き戻すことができるアプリケーションを開発しています。writeImageDataToSavedPhotosAlbum 関数を使用して、データの読み取り、操作、およびライブラリへの書き込みに成功しました。問題は、元のイメージを更新する代わりに、新しいイメージを作成することです。

そのアイテムを交換または更新するにはどうすればよいですか?

前もって感謝します