小编Cra*_*lot的帖子

AVAssetExportSession导出失败非确定性错误:"操作已停止,NSLocalizedFailureReason =视频无法合成."

我们为用户录制的视频添加了字幕,但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)

avfoundation ios avassetexportsession swift

18
推荐指数
3
解决办法
7309
查看次数

Firefox扩展和Firefox附加组件有什么区别?

术语"扩展"和"附加组件"似乎是可以互换的,但我看到人们似乎用"扩展"与"附加组件"来表示不同的事情.

清晰吗?

firefox firefox-addon

17
推荐指数
3
解决办法
1万
查看次数

为什么我的applet得到java.security.AccessControlException:访问被拒绝(java.net.SocketPermission ...),我该如何避免它?

我们对我的客户端在Safari中遇到Java安全性异常的原因一无所知.有人可以帮忙吗?

在Windows上的Safari中可靠地发生异常.这涉及Java applet.Windows Vista上的Firefox和IE8也会出现异常.

以下是重现的步骤:

  1. 在Windows上打开Safari

  2. 点击此处:http://www.cengraving.com/s/item?icmId = CH003

  3. 点击"自定义"(在屏幕底部)

  4. 加载"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)

java safari applet exception

17
推荐指数
3
解决办法
7万
查看次数

重写== Equatable类型的函数未调用子类NSCoding和NSObject的自定义类

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)

nscoding nsobject swift equatable

17
推荐指数
1
解决办法
6723
查看次数

如何调整Facebook和推文按钮?

我们主页上的Facebook和Tweet按钮是垂直错位的,我们很困惑.如果我们使用Firebug并删除Tweet按钮的高度,我们可以顶部对齐两个按钮.但是,高度是从Twitter脚本动态设置并内联的.我们似乎无法覆盖高度值.

这是主页:http://www.panabee.com

我们在CSS中做错了吗?或者我们需要在T​​weet按钮中设置一个参数来覆盖高度值?

我们唯一的另一个选择是使用推特到推特按钮的Twitter iFrame,我们不想这样做.

谢谢!

html css twitter facebook vertical-alignment

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

当前解决方案在HTML5中的移动Safari上预加载,缓存或以其他方式播放音频而没有延迟/延迟?也许iOS 5+

音频,HTML5和移动Safari上有大量SO帖子,例如:

在Mobile Safari中重用HTML5音频对象在Mobile Safari上 自动播放音频文件在Mobile Safari中 预加载HTML5音频 HTML5是否支持对离线缓存音频的访问?

但是,它们都已经过时了.

我们更喜欢支持iOS 3+的解决方案,但我们会采取任何有效的方法 - 即使它仅限于iOS 5.

任何人都有今天的确定答案,或iOS 5上的测试人员有任何见解?

  • 音频文件可以在移动Safari中缓存吗?如果是这样,有什么限制?
  • 有没有办法减少按下按钮和播放声音之间的滞后或延迟?

谢谢!

iphone html5 mobile-safari ios jquery-mobile

16
推荐指数
1
解决办法
2431
查看次数

如何在不泄漏帧的情况下渲染帧图像内的屏幕截图/图像?

使用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(&quot;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&quot;); background-size: cover;"></div><div class="backgroundGraphicBox" …
Run Code Online (Sandbox Code Playgroud)

html javascript css background

16
推荐指数
1
解决办法
298
查看次数

Google Analytics的两个独立脚本标记?

有谁知道为什么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)

javascript google-analytics

15
推荐指数
2
解决办法
7415
查看次数

尝试追加/替换数组元素时"对成员映射的模糊引用"

像这样的几个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)

swift

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

Xcode 7:显示发布版本的发布版本的相同控制台日志?

这个答案解决了如何在Xcode中显示控制台日志,但是print在应用程序的开发版本中出现的使用Swift中的函数打印的输出不会出现在发布版本中.

为了清楚起见,应用程序是从App Store下载的,然后打开Xcode,控制台日志显示为SO答案所描述的.

这个答案表明,print即使是发布版本,该功能仍会继续向控制台发送输出.

但是,App Store版本不再显示打印到控制台以进行开发构建的行.

您如何查看为开发构建显示的相同控制台输出?

xcode ios swift xcode7

14
推荐指数
2
解决办法
4394
查看次数