小编Der*_*ers的帖子

iOS 9中的操作表问题

Apple已弃用iOS 8.3中的操作表,如何向用户界面添加操作表?

我意识到Apple的文档不是很清楚如何用UIAlertController创建一个动作表.所以经过一段时间的游戏,我只是想分享我的代码,因为我无法在Stack Exchange上找到任何关于这个主题的有用信息.

uialertcontroller ios9

7
推荐指数
2
解决办法
1万
查看次数

没有音频的视频会导致 AVMutableComposition() 上的应用程序崩溃

我的应用程序从 URL 获取视频,并允许您向其中添加文本等。当视频没有任何音频开始时,它似乎崩溃了,似乎无法弄清楚这一点。

这是我在制作视频时所拥有的:

let asset = AVAsset(url: URL(string: self.videoURL)!)
let mixComposition = AVMutableComposition()
let videoTrack = mixComposition.addMutableTrack(withMediaType: .video, preferredTrackID: kCMPersistentTrackID_Invalid)
try! videoTrack?.insertTimeRange(CMTimeRangeMake(start: .zero, duration: asset.duration), of: asset.tracks(withMediaType: .video)[0], at: CMTime.zero)
let audioTrack = mixComposition.addMutableTrack(withMediaType: .audio, preferredTrackID: Int32(kCMPersistentTrackID_Invalid))
do {
       try audioTrack!.insertTimeRange(CMTimeRangeMake(start: .zero, duration: asset.duration), of: asset.tracks(withMediaType: .audio)[0], at: CMTime.zero)
   } catch {
       print("error")
   }
Run Code Online (Sandbox Code Playgroud)

它继续insertTimeRangeindexPath超出范围。

 [__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray
Run Code Online (Sandbox Code Playgroud)

avfoundation avmutablecomposition avasset swift

2
推荐指数
1
解决办法
528
查看次数

-1
推荐指数
1
解决办法
9008
查看次数