问题标签 [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.
iphone - ALAssets 库显示的相册顺序
我正在使用该ALAssets
库来构建自定义图像选择器控制器(很像在照片应用程序中)。具体来说,我enumerateGroupsWithTypes
用来填充专辑列表,以便将它们放在表格中。我注意到在使用此方法时,它会以与照片应用程序相反的顺序填充列表,因此相册会反向显示。例如:
照片应用程序以这种方式显示相册:
我的应用以这种方式显示专辑:
显而易见的解决方案是让我将专辑添加到数组的前面而不是后面,但是我想知道这是通常的行为还是错误?我使用 ios5 中的新选项创建的“测试行”和“测试行 2”允许您在照片应用程序中创建自己的相册,但我想知道您是否通过其他方式添加相册(例如通过 iPhoto,我不确定如何做),它们的顺序是否正确?有没有人遇到过这个?
objective-c - 使用 ALAssetOrientation 和 UIImageOrientation 确定正确方向的问题
我在 iPhone 上正确定位图像时遇到问题。我正在使用 AssetLibrary 类访问图像。
所有,我想做的是正确定位图像以进行显示,不幸的是,对于一些以纵向模式拍摄的图像,它们的方向没有意义。
在框架调用的块中,我正在对 iPhone 相机在“向上”方向拍摄的照片进行以下调用:
我使用 orient 值来旋转图像,使其看起来“向上”。不幸的是,如果我有一张以横向模式拍摄的图像,则相同的代码将不起作用,因为方向不正确。
我尝试使用 scale:orientation: 重载使用 orient 作为方向参数来实例化 timg,它所做的只是初始化设置方向的图像,但不正确地旋转图像。
这似乎是不确定的,这些调用为什么会返回不同的结果:
对你的帮助表示感谢。
谢谢,威尔
objective-c - AssetsLibrary,如何枚举所有照片?
有没有比这更好的方法来枚举设备上的所有照片?
为每个资产组执行此操作...
xcode - 从 UIImagePickerController 获取修剪后的视频文件大小
使用选择视频后,UIImagePickerController
我可以从其获取视频的文件大小
[defaultRepresentation size]
。
但是,如果我启用选择器的修剪选项,[defaultRepresentation size]
则返回与原始未修剪视频相同的文件大小。
有没有人有检索修剪视频文件大小的方法?
非常感激...
是的,我应该包含一些代码。我坏。
我想要实现的是让用户选择并修剪现有视频,然后上传修剪后的版本。我想要修剪版本的文件大小,以便在上传期间填充进度条。我也想要修剪版本的持续时间。
调用方法是:
在用户修剪并按下选择后触发的委托方法是:
vvi
只是我自己的自定义类。两个 NSLog 返回原始未修剪视频的持续时间和大小。指向的视频[vvi setRawSourceVideoFileURL:[info objectForKey:UIImagePickerControllerMediaURL]];
确实返回了正确修剪的视频。
非常感谢!
iphone - 加快从 ALAssetsLibrary 读取和填充 UITableView 的可能方法
现在,我正在使用 ALAssetsLibrary 从 ALAssetsGroupSavedPhotos 和 ALAssetsGroupLibrary 收集照片。将所有资产读入一个数组后,我填充我的 UITableView ([myTable reloadData]) 以显示照片。
我发现如果用户有很多照片,延迟就会增加。有什么办法可以加快速度吗?尽管相机胶卷或照片库中的照片数量很多,但默认的 UIIMagePicker 似乎根本没有延迟。有没有办法达到同样的速度?
谢谢!
iphone - ALAsset 视频压缩
我浏览了 SO 并找不到这个问题的有效答案。我已经使用 ALAssets 创建了一个自定义图像选择器,但现在它不是常规的图像选择器,因此没有视频的自动压缩。
这就是我从资产中获取视频 NSData 的方式:
现在的问题是,当我选择一个大的视频文件时,应用程序崩溃了,因为它收到了内存警告。无论如何压缩视频甚至修剪视频文件不会那么大?
iphone - ALAsset valueForProperty:ALAssetPropertyLocation 未声明?
这可能看起来太容易了,或者只是让我感到困惑……或者我太累了,无法理性思考。
我正在尝试使用 imagePickerController 从相册中获取用户已选择的 UIImage 的位置。
现在,我尝试为 ALAsset调用valueForProperty时遇到了麻烦。这是我得到的错误:
使用未声明的标识符“ALAssetPropertyLocation”。
请帮忙!这真是令人沮丧...我需要照片的位置...
iphone - ALAssetsLibrary - 收到 ALAssetsLibraryChangedNotification 后崩溃
我的应用程序的一部分有一个照片浏览器,有点类似于 Apple 的照片应用程序,带有一个用于浏览照片缩略图的初始视图控制器和一个在您点击照片时显示的详细视图。
我正在使用 ALAssetsLibrary 访问照片,并将 ALAsset URL 数组传递给我的详细视图控制器,以便您可以从一张照片滑动到下一张照片。
一切正常,直到我在从一张照片滑动到另一张照片时收到 ALAssetsLibraryChangedNotification(在细节视图控制器中),这通常会导致崩溃:
通知:资产库已更改 // 我自己的 NSLog 用于通知发生时
loading assets... // 当我开始在缩略图浏览器中重新加载资源时,我自己的 NSLog
断言失败:(大小 == bytesRead),函数 -[ALAssetRepresentation _imageData],文件 /SourceCache/AssetsLibrary/MobileSlideShow-1373.58.1/Sources/ALAssetRepresentation.m,第 224 行。
它崩溃的特定代码行是调用 [currentRep metadata] ,如下所示:
我知道一旦收到通知,它会使对 ALAsset 和 ALAssetRepresentation 对象的任何引用无效......但是我应该如何处理它在尝试访问它的过程中使某些东西无效的情况?
我已经尝试设置一个 BOOL,就在收到通知以完全中止并防止 [currentRep metadata] 被调用时,但即使这样也不会每次都捕捉到它:
有什么我可以做的吗?在这一点上,我几乎准备放弃使用 ALAssetsLibrary 框架。
(请注意 Apple 开发论坛上描述相同问题的未解决线程:https ://devforums.apple.com/message/604430 )
ios - 如何从 iOS 照片(如相机胶卷)获取图像创建日期时间或上次修改日期时间?
我是 iOS 的新手。最近,我正在开发一个 iOS 应用程序,需要检查图像(在 iOS Photos中)创建的日期时间和修改的日期时间,以按时间对这些图像进行排序。我使用ALAssetsLibrary枚举所有图像,我可以获得每个图像的以下属性:图像文件名、图像资产 url(在其中,我可以获得图像文件扩展名和唯一资产 ID)。但是有人可以告诉我如何获取图像文件的创建日期时间和最后修改的日期时间吗?
非常感谢。
ios - 替换 iOS ALAssetsLibrary 中的 ALAsset 对象
我正在开发一个应用程序,它读取图像的地理位置并允许用户修改此信息并将此数据写回。我使用 writeImageDataToSavedPhotosAlbum 函数成功读取数据、操作和写入库。问题是它不是更新原始图像,而是创建一个新图像。
我怎样才能更换或更新该项目?
提前致谢