问题标签 [avasset]
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 - AVAsset 长度不正确
我需要在我的应用程序中播放远程 mp3 文件。我正在使用AVURLAsset
并AVPlayer
做到这一点。一切都很好,但有些文件的长度不正确。我需要正确的长度来显示曲目播放的进度条。
这是长度错误的 mp3 文件: http ://content.mts.stream.ru/files/melody/mp3/3828.mp3
这是我尝试获取轨道长度的方法:
两者都是assetDuration
~ itemDuration
45秒。实际曲目长度约为 30 秒。
如何获得 mp3 文件的实际长度?看起来 mp3 标签有错误,因为我的 Mac 上的预览实用程序也说它是 45 秒。然而 iTunes 说它是 30 秒。
我有一个想法,我可以获取 HTTP 响应的内容长度字段并计算轨道大小,但我需要获取比特率。
更新
我更深入并尝试使用 AudioToolbox:
并再次得到错误的值。所以看起来这个文件有一些编码问题。如果我能得到进一步的结果,我会更新这个问题。
ios - AVAssetExportSession 和淡入淡出效果
我正在使用 AVAssetExportSession
但无法在保存的文件中实现淡入淡出效果来修剪音频文件。这是我正在使用的代码。
我不知道我错过了什么。任何帮助表示赞赏。
objective-c - AVFoundation,如何显示字幕?
我正在为 mac os 开发一个视频编辑工具,使用 cocoa 和 avfoundation
NSAsset 对象使用一个视频文件,该资产具有视频轨道、音频和(如苹果文档中所述)字幕!
我可以播放视频和音轨,但是字幕呢???它必须是视频文件中附加的字幕轨道吗?我在哪里可以找到一个??
我希望能够从单独的文件中显示字幕,如 srt 和其他格式?在这种情况下,avfoundation 有什么可做的吗,或者我应该自己实现它并在另一层显示/隐藏字幕?
ios - 使用 AVAssetExportSession 保存视频时如何提高视频速度
我有一个可以加载到 AVAsset 的视频文件。我想改变这个视频的播放速度并加倍它的速度,这样如果视频是 10 秒长,它会加速在 5 秒内完成。
这是我正在尝试的代码,有人可以告诉我哪里出错了吗?
帧持续时间是我实现目标所需的属性。
ios - Reloading keys in AVAsset when status is AVKeyValueStatusFailed
I'm doing the following:
- Create a new
AVAsset
with a given URL. That URL points to a video on a remote web server. - Attempt to load the
tracks
property by callingloadValuesAsynchronouslyForKeys:completionHandler:
- The initial request fails, because no internet connection exists
- I notice that the request failed by calling
statusOfValueForKey:error:
- I then wait for the connection to re-appear (using some reachability code). As soon as it does, I call
loadValuesAsynchronouslyForKeys:completionHandler:
again.
Here's where the problems begin. I would imagine that the AVAsset
goes ahead and attempts to reload the tracks property since it failed previously. However, this does not seem to happen. statusOfValueForKey:error:
will still return AVKeyValueStatusFailed
, although a working internet connection is available and the video is playable.
Is there a way to reset the state for this given property and to attempt another load? Is there another way to work around this?
ios - 来自应用沙箱的 AVAsset
我在我的应用程序中使用 AVAsset 并遇到了下一个问题。当我写这样的东西时:
它的工作正常。但是,当我尝试从应用程序的沙箱中的 tmp 目录中获取新记录的文件时,如下所示:
它也不起作用。即使我尝试将视频文件从沙盒添加到资产 - 结果是相同的。我什至尝试过使用AVURLAsset
,但资产也总是空的。我需要它在它们之间混合两个音频文件,然后将其与录制的视频合并。如果我可以在没有 AVAssets 的情况下做到这一点并且有另一种方法,如果你告诉我,我将不胜感激。或者可能还有其他功能?
ios - 在视频上添加叠加层
我正在将叠加层添加到视频中,并在 Facebook 和 whatsaap 上分享。但是视频的质量特别是在whatsapp上变得很差,而其他没有覆盖的视频质量最好。用 overlay 编辑覆盖视频的代码:
我究竟做错了什么?任何想法?
ios - 在输出到文件之前从 AVAssetWriter 中删除缓冲区
我有一个类似于 Vine 或 Instagram Video 的应用程序,我正在尝试删除最后录制的片段。我正在使用 AVAssetWriter 并在录制时将样本缓冲区附加到资产写入器输入,但我希望允许用户删除记录的最后一个样本缓冲区。
有没有办法删除附加到 AVAssetWriter 的缓冲区?我检查了文档,没有删除缓冲区的方法。
ios - 仅当使用 WiFi 连接进行流式传输时,AVPlayerItem 持续时间为零,通过蜂窝网络绝对可以
iOS 7.0.3
我正在从 URL 加载 mp3,当这是通过蜂窝(较慢)连接完成时,所有元数据都正确加载。
但是,当通过 WiFi 加载时,每次的持续时间都为零。我已经尝试添加观察者,等待准备播放,初始化新的 avplayers ......等等。
我每次都得到相同的结果:一切都在手机上工作,但不是 wifi。
这是我正在使用的代码片段,非常简单:
如果有人可以提供建议,我将不胜感激,这让我很生气!
ios - 如何在 AVMutableComposition 中使用多个轨道
请看下面的代码。我正在尝试添加第二个轨道,以便在背景视频之上覆盖一个较小的视频。但是我只能让背景视频显示在最终导出的文件中。我究竟做错了什么?以及如何控制音轨的顺序,即合成的分层?