我正在开发将多个视频与背景音轨结合在一起的应用程序.它还需要为不同的视频设置不同的音频级别.
以下是AssetItem类和AssetManager类的代码
// AssetItem Class
class AssetItem : NSObject {
var asset : Asset!
var assetEffect : AssetEffectType! // Enum
var assetSceneType : SceneType! // Enum
var videoLength : CMTime!
var animationLayer : AnyObject?
var volumeOfVideoVoice : Float = 0.0
var volumeOfBGMusic : Float = 0.0
override init() {
super.init()
}
}
// AssetManager Class implementation
class AssetManager{
var assetList = [AssetItem]()
var composition : AVMutableComposition! = AVMutableComposition()
var videoComposition : AVMutableVideoComposition? = AVMutableVideoComposition()
var audioMix : AVMutableAudioMix = AVMutableAudioMix() …Run Code Online (Sandbox Code Playgroud) 我正在从 PHAsset 获取视频,以便用户可以选择视频并导入以执行编辑。但是用户应该只能选择横向视频,如果用户选择纵向视频,她/他会收到警告消息,说是纵向视频,因此无法导入编辑。
一种方法是从 PHFetchResults 的 URL 创建 AVAsset,然后检查一个 preferredTransform,但这将是非常昂贵的操作,对吗?
有没有办法在不创建 AVasset 的情况下做到这一点?