我们为用户录制的视频添加了字幕,但AVAssetExportSession对象的导出失败是非确定性的:有时它会起作用,有时它不起作用.目前还不清楚如何重现错误.
我们注意到出口期间资产跟踪似乎丢失了.
在导出之前,有两个轨道(一个用于音频,一个用于视频),如预期的那样.但是在exportDidFinish显示0个曲目中检查相同文件URL的曲目数.所以出口过程似乎有些问题.
更新:注释会exporter.videoComposition = mutableComposition修复错误,但当然不会对视频应用任何转换.所以问题似乎在于创造AVMutableVideoComposition,这会在出口期间导致下游问题.文档和教程AVMutableVideoComposition很少,所以即使您没有解决方案但可以推荐Apple以外的参考资料,这将有所帮助.
错误:
Error Domain = AVFoundationErrorDomain Code = -11841"Operation Stopped"UserInfo = 0x170676e80 {NSLocalizedDescription = Operation Stopped,NSLocalizedFailureReason =视频无法合成.}
码:
let videoAsset = AVURLAsset(URL: fileUrl, options: nil)
let mixComposition = AVMutableComposition()
let videoTrack = mixComposition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID(kCMPersistentTrackID_Invalid))
let audioTrack = mixComposition.addMutableTrackWithMediaType(AVMediaTypeAudio, preferredTrackID: CMPersistentTrackID(kCMPersistentTrackID_Invalid))
let sourceVideoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo)[0] as! AVAssetTrack
let sourceAudioTrack = videoAsset.tracksWithMediaType(AVMediaTypeAudio)[0] as! AVAssetTrack
videoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), ofTrack: sourceVideoTrack, atTime: kCMTimeZero, error: nil)
audioTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), ofTrack: sourceAudioTrack, atTime: kCMTimeZero, …Run Code Online (Sandbox Code Playgroud) 术语"扩展"和"附加组件"似乎是可以互换的,但我看到人们似乎用"扩展"与"附加组件"来表示不同的事情.
清晰吗?
我们对我的客户端在Safari中遇到Java安全性异常的原因一无所知.有人可以帮忙吗?
在Windows上的Safari中可靠地发生异常.这涉及Java applet.Windows Vista上的Firefox和IE8也会出现异常.
以下是重现的步骤:
在Windows上打开Safari
点击"自定义"(在屏幕底部)
加载"Instant Proof"页面后,单击"添加到购物车".
完整堆栈跟踪:
java.security.AccessControlException: access denied (java.net.SocketPermission www.cengraving.com resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin.security.ActivatorSecurityManager.checkConnect(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.designapplet.a.f.a(Unknown Source)
at com.designapplet.ui.c.a(Unknown Source)
at com.designapplet.ui.c.for(Unknown Source)
at com.designapplet.ui.DesignApplet.buy(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) FooBar下面的类必须覆盖==该Equatable类型的功能.
但是,调用对象contains数组FooBar不会导致==调用自定义函数内的断点.是否可能其他==功能覆盖此自定义功能?
注意:因为FooBar必须从NSCoding和NSObject继承,所以FooBar不会将Equatable列为协议,因为它会导致此错误:
'FooBar'与协议'Equatable'的冗余一致性
func ==(lhs: FooBar, rhs: FooBar) -> Bool {
return lhs.id == rhs.id
}
class FooBar: NSObject, NSCoding {
// Class def
}
// Both serverFooBars and gFooBars are [FooBar]
let newFooBars = serverFooBars.filter { !gFooBars.contains($0) }
Run Code Online (Sandbox Code Playgroud) 我们主页上的Facebook和Tweet按钮是垂直错位的,我们很困惑.如果我们使用Firebug并删除Tweet按钮的高度,我们可以顶部对齐两个按钮.但是,高度是从Twitter脚本动态设置并内联的.我们似乎无法覆盖高度值.
这是主页:http://www.panabee.com
我们在CSS中做错了吗?或者我们需要在Tweet按钮中设置一个参数来覆盖高度值?
我们唯一的另一个选择是使用推特到推特按钮的Twitter iFrame,我们不想这样做.
谢谢!
音频,HTML5和移动Safari上有大量SO帖子,例如:
在Mobile Safari中重用HTML5音频对象在Mobile Safari上 自动播放音频文件在Mobile Safari中 预加载HTML5音频 HTML5是否支持对离线缓存音频的访问?
但是,它们都已经过时了.
我们更喜欢支持iOS 3+的解决方案,但我们会采取任何有效的方法 - 即使它仅限于iOS 5.
任何人都有今天的确定答案,或iOS 5上的测试人员有任何见解?
谢谢!
使用div或canvas,目标是用图像/屏幕截图完全填充设备框架,但又不会溢出框架。
屏幕截图1展示了紧贴框架内的图像。屏幕截图2说明了图像渗漏到框架之外的情况。
第一个挑战是图像/屏幕截图的宽高比可能会有所不同,即可能会使用不同尺寸的图像。例如,一个图像可以是1242x2688,而另一图像可以是1440x2960。无论宽高比如何,屏幕截图都应填充框架,但不会流过其边缘。
第二个挑战是它们在CSS中的缩放比例通常transform: scale(x)约为25%,浏览器的舍入行为在此比例下会产生像素大小的间隙。但是,当比例恢复到100%时,这些差距将消失。
我们尝试了两种选择。两者都有缺陷。
两者都使图像/屏幕截图成为帧div的子div。
选项1:填充值
我们使用“ padding”值来调整子div的宽度,高度和位置(即屏幕截图),以使其适合其父框架。但是,具有不同长宽比的图像可能会渗漏到框架之外或无法填满框架。
选项2:剪切路径
我们使用剪切路径来表示框架内的区域,但有时会出现间隙,具体取决于CSS缩放值。我们不能允许差距。
下面的代码和Codepen中说明了间隙问题。
还有其他选择吗?
Codepen(说明差距):https ://codepen.io/anon/pen/yWXvJE
.colorClassProxy {
display: none
}
.itemBox, .itemBox > * {
position: absolute;
box-sizing: border-box;
}
.backgroundColorBox, .backgroundGraphicBox, .foregroundBox, .frameBox {
width: 100%;
height: 100%;
background-size: contain;
background-color: transparent;
background-position: center;
background-repeat: no-repeat;
pointer-events: none;
}Run Code Online (Sandbox Code Playgroud)
<div class="itemBox graphic" id="NZW2Hmn4nVgb" style="width: 173px; height: 364px; top: 86px; left: 111px;"><div class="backgroundColorBox" style="width: 163px; height: 335px; top: 17px; left: 4px; -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%2241.7%20142.4%201445.2%202965.9%22%20preserveAspectRatio=%22none%22%3E%3Cpath%20d=%22M1359.3,3105.3h-1190c-68.8,0-124.6-53.2-124.6-118.9V264.3c0-65.7,55.8-118.9,124.6-118.9h1190%20%20c68.8,0,124.6,53.3,124.6,118.9l0,2722.1C1484,3052.1,1428.2,3105.4,1359.3,3105.3L1359.3,3105.3z%22%20style=%22fill:%20white;%20stroke:%20white;%20stroke-width:%206;%22/%3E%3C/svg%3E"); background-size: cover;"></div><div class="backgroundGraphicBox" …Run Code Online (Sandbox Code Playgroud)有谁知道为什么Google Analytics需要两个单独的脚本标记?
具体而言,他们的说明建议用户将以下代码段嵌入到网页中以进行跟踪:
<!-- Google Analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8720817-1");
pageTracker._trackPageview();
} catch(err) {}</script>
Run Code Online (Sandbox Code Playgroud)
为什么用户不能只使用一个这样的脚本块:
<!-- Google Analytics -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try {
var pageTracker = _gat._getTracker("UA-8720817-1");
pageTracker._trackPageview();
} catch(err) {}</script>
Run Code Online (Sandbox Code Playgroud) 像这样的几个SO帖子处理相同的错误消息,但这些解决方案都不起作用.看起来这可能是一个误导性错误消息的情况.
下面的代码为地图调用生成"对成员地图的模糊引用"错误.
谁知道为什么?
func saveUser(user: User) {
var userDicts = masterDict["users"] as! [[String:AnyObject]]
let newDict = user.getDict()
// Replace matching element with <newDict>
let replaced = false
masterDict["users"] = userDicts.map {
if ($0["id"] as String! == user.getId()) {
replaced = true
return newDict
} else {
return $0 as [String:AnyObject]
}
}
// If no match found, means must add new user
if (!replaced) {
userDicts.append(newDict)
}
}
Run Code Online (Sandbox Code Playgroud)