问题标签 [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.

0 投票
1 回答
345 浏览

swift - Swift 从 Firebase 存储中获取视频时长

我正在开发一个类似于 YouTube 功能的应用程序。现在我需要在 collectionView 中显示视频列表(已存储在 Firebase 中),并且我需要获取每个视频的持续时间。我正在考虑

  1. 添加一个属性durationstruct Post在加载帖子时轻松获取它。

  2. AVURLAsset从视频的 url创建一个对象并从中获取持续时间asset.duration。但是,我的直觉告诉我,第二个选项并不是一个好主意。

我现在正处于 iOS 开发者职业生涯的早期阶段。我非常需要解决这个问题。谢谢!

0 投票
1 回答
135 浏览

ios10 - 在我们下载 HLS 流之前,如何获取所有可用子流的数组?

如何从可用的 HLS 流中提取元数据,以便在下载 HLS 流之前获得所有可用的分辨率、带宽和子流信息。我想允许用户从所有可用的 HLS 子流分辨率中选择他们想要下载的分辨率。我怎样才能事先获得所有可用的子流信息?

0 投票
1 回答
898 浏览

ios - AVFoundation:如何获得 AVURLAsset 流式传输的视频的视频尺寸?

我需要知道我通过 AVURLAsset 从网上播放的视频是纵向还是横向。

过去,我通过获取视频轨道的自然大小、应用其首选变换,然后比较宽度和高度来对本地视频进行此操作。例子:

但是对于这个流媒体视频,asset.tracks是空的,所以我无法检查自然大小。

有谁知道如何解决这个问题?

0 投票
1 回答
1215 浏览

ios - 来自 AVURLAsset 的 URL 的数据内容返回 nil

我想知道为什么 contentOf 对来自 AVURLAsset 的 URL 返回 nil。从带有 Photos 框架的自定义库中选择后,我尝试从 PHAsset 请求资产,如下所示:

以上网址的视频可以用AVPlayer正常显示。但是当我尝试使用以下方法获取与 url 关联的数据时:

0 投票
1 回答
4197 浏览

ios - AVAsset 不适用于本地文件

我正在我的应用程序中下载和缓存(使用https://github.com/vdugnist/DVAssetLoaderDelegate)视频。当应用程序启动时,我检查一个下载的文件,如果它存在,我用本地文件初始化资产,否则,我用远程 URL 初始化它。然后,当下载完成后,我将视频文件写入缓存目录。我检查了写入的文件,它存在,并且是一个有效文件(我已经浏览了模拟器的文件系统并找到了该文件。它就在那里。)。

下次启动应用程序时,我会检查现有文件(已成功找到),我用它初始化播放器,但它永远不会加载。我没有收到任何错误,但缓冲区永远不会有任何时间范围,视频不播放,什么都没有调用等。

这是我的代码:

在哪里:

在哪里:

我有一些自定义方法,但你明白了。该文件在那里并且可播放(当我远程加载没有问题时,它与实际播放的视频数据相同)。

我照顾了:

  • 解析到正确的路径(通往缓存目录的路径每次都是随机的,我已经处理过了)。
  • 加载本地资产时使用fileURLWithPath:而不是常规 URL 初始化程序,如代码所示。

我究竟做错了什么?(我在 iOS 11.2.6 上)

0 投票
1 回答
558 浏览

ios - AVPlayer 处于 ReadyToPlay 状态但无法开始播放

这是我开始视频的代码:

我可以看到视频预览,我还可以看到它正在加载,我什至可以移动滑块并看到预览正在更改为我选择的时间。但是,如果我点击播放 - 什么都不会发生。我试图手动按下“播放”按钮,我试图以.play编程方式调用,“播放”按钮的状态变为“||” 但随后立即切换回“>”。

我还在跟踪与播放器状态相关的调试信息,并注意到以下内容。就在我创建播放器时,状态如下:

它几乎立即改变了它的 TimeControl: Paused 和 Rate: 0:

playerItem.LoadedTimeRanges在这两种情况下,当 UI 显示视频已完全加载并准备好播放时,它显示只有一个元素但长度和位置为 0。

在此处输入图像描述

0 投票
1 回答
194 浏览

avaudioplayer - AVAudioPlayer.duration 不等于 AVURLAsset.duration

我录制了一个音频文件AVAudioEngin,格式为:

@{ AVSampleRateKey:@(44100.0), AVNumberOfChannelsKey: @(1), AVFormatIDKey: @(kAudioFormatMPEG4AAC), },

然后我用AVAudioPlayer,

为什么duration不等于seconds

我错过了一些要设置的属性AVAudioPlayer吗?

0 投票
1 回答
110 浏览

ios - 从 url (AVURLAsset) 加载后,我的肖像视频会旋转

我有一个可以访问照片/视频库的选择器,但我的问题是当视频是纵向时,视频的宽度和高度会倒置。我写了一个补丁来检查视频的大小,当宽度大于高度时,它会旋转它。但显然它不适用于肖像以外的其他视频。

有没有办法访问视频的方向?或者欢迎任何其他解决此问题的方法。

这是我的 adPicker 方法、imagePicker(didFinishPickingMediaWithInfo:) 委托方法和 getFramesFromVideo(fileUrl:) 方法的代码:

0 投票
1 回答
71 浏览

swift - 如何在将avasset当前项目URL更改为另一个URL之前存储它

我开发了一个视频编辑应用程序,它对视频进行基本的裁剪、修剪等操作,更改后保存视频,如果我想恢复这些更改,我面临的问题是该怎么做,目前在播放器视图中,我更改了当前项目但是如果我想恢复任何编辑的更改,我如何才能转到最后一项。

0 投票
2 回答
574 浏览

ios - 通过 AVAssetDownloadTask/Session 下载后如何更新 AVURLAsset 的元数据?

我正在实现一些 HLS/m3u8 流的离线播放。一切都按预期工作AVAssetDownloadURLSession,使用它从流 url 中AVAssetDownloadTasks给出一个。AVURLAsset

我想metadata在下载完成之前或之后在资产的属性中保存一些自定义信息,但它是只读的。我曾尝试使用AVAssetExportSession,AVAssetWriter等,但由于(我认为)操作系统管理 HLS 离线播放文件的特殊方式,都没有奏效。它们被打包为 .movpkg

任何人都有上述经验并使其工作?

会话当前设置如下:

委托方法都在适当地触发,所以下载部分没有问题。