小编Nei*_*fey的帖子

推荐的Java库,用于以编程方式创建视频

任何人都可以推荐一个允许我以编程方式创建视频的Java库吗?具体来说,它将执行以下操作:

  • 将一系列BufferedImages作为帧
  • 允许添加背景WAV/MP3
  • 允许'偶然'WAV/MP3以任意编程指定的点添加
  • 以通用格式输出视频(MPEG等)

有人可以推荐什么吗?对于图像/声音混合,我甚至会使用带有一系列帧的东西,并且对于每个帧,我必须提供与该帧相关联的未压缩声音数据的原始字节.

PS它甚至不必是一个"第三方库",如果Java媒体框架有调用来实现上述目标,但从我粗略的记忆中我感觉它没有.

java media video

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

用于在图像上布置标签的建议算法/方法

给定一个图像和一组标签附加到图像上的特定点,我正在寻找一种算法,以一定的约束将标签布局到图像的两侧(每侧标签大致相同,标签大致等距离,将标签连接到各自的点,没有线交叉的线.

现在,通过按Y坐标(它们所指的点)对标签进行排序,通常可以非常天真地找到近似解决方案,如本例所示(仅限概念证明,请忽略实际数据的准确度等)!

现在为了满足没有过境的条件,我想到了一些想法:

  • 使用遗传算法找到没有交叉的标签的排序;
  • 使用另一种方法(例如动态编程算法)来搜索这样的排序;
  • 使用上述算法之一,允许间距和排序的变化,找到最小化交叉数和从均匀间距变化的解决方案;
  • 也许有一些标准我可以用来在某些标准内粗略搜索标签的每个可能的排序(如果它们的距离大于X,不要重新排序两个标签);
  • 如果所有其他方法都失败了,只需尝试数百万的随机排序/间距偏移,并选择一个给出最小交叉/间距变化的偏移量.(优点:直接进行编程,可能会找到一个足够好的解决方案;虽然不是一个显示停止的轻微劣势:也许不能在应用程序中动态运行它,以允许用户更改图像的布局/大小. )

在我开始其中之一之前,我会欢迎其他人的意见:有其他人遇到过类似问题并有任何信息来报告上述任何方法的成功/失败,或者他们是否有更好的/更简单的解决方案,我没有发生?感谢您的输入!

sorting algorithm dynamic-programming backtracking genetic-algorithm

27
推荐指数
5
解决办法
1912
查看次数

使用ImageIO创建动画GIF?

有没有人设法说服ImageIO写一个动画GIF,特别是设置正确的元数据?我的第一次尝试大致如下(其中b1和b2是BufferedImages):

ImageTypeSpecifier spec = new ImageTypeSpecifier(b1);
ImageWriter wr = ImageIO.getImageWriters(spec, "GIF").next();
wr.setOutput(ImageIO.createImageOutputStream(new File("C:\\Flashing.gif")));
ImageWriteParam param = wr.getDefaultWriteParam();
IIOMetadata meta = wr.getDefaultImageMetadata(spec, param);
wr.prepareWriteSequence(meta);
wr.writeToSequence(new IIOImage(b1, null, null), param);
wr.writeToSequence(new IIOImage(b2, null, null), param);
Run Code Online (Sandbox Code Playgroud)

这似乎几乎可行,但是:

  • 我显然需要以某种方式设置"适当的"元数据来设置图像之间的时间并理想地使它们循环(我天真地希望默认会做一些明智的事情,但是嘿......)
  • 默认情况下,它所写的任何元数据显然不是很正确:GIMP在加载文件时会给出一些错误消息,尽管在Firefox的测试网页中嵌入图像确实可以非常快速地连续显示这两个图像.接近我想要的......

如果有人从ImageIO编写动画GIF,可以分享工作代码片段或如何解决上述问题,我们将不胜感激!

java animated-gif javax.imageio

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

什么构成出口合规的"加密"(例如在App Store中)?

在向iOS App Store提交应用程序时,需要申报一个应用程序是否"包含加密"(据我了解,还会遇到其他管理障碍).

在这种情况下,是否有人知道关于"加密"一词究竟涵盖的内容的任何指导?

他们指的是:

  • 特别是加密安全加密方案(AES,RSA等);
  • 或者,在日常用语中可能被称为"加密"的任何方案或方法,或者加密弱的标准方案的变体?

具体来说,我打算使用一些弱方案来保护应用程序的一些资产免受偶然黑客攻击,例如通过从(非加密)随机数生成器生成的字符串中对文件中的数据进行异或.如果你喜欢,它将是一个"一次性填充",但密钥实际上不是加密随机的:只是随机足以让有人想要窃取数据需要付出少量努力而不仅仅是复制文件中的数据'.

因此,出于声明的目的,即使它实际上不是加密安全的加密形式,它是否会被视为使用"加密"?我正在做的是足够普遍的做法,我猜其他开发人员已经使用这样的程序提交了应用程序:你是否必须将应用程序声明为使用加密?

(例如,iTunes Connect指南未对此事进行任何进一步说明.)

encryption export ios

19
推荐指数
1
解决办法
6079
查看次数

在后台轮询服务器的正确方法

假设这是可能的,我希望我的iOS应用程序在后台运行时轮询服务器(即基本上每隔30分钟检索一次URL的内容并通知用户它是否包含"有趣"的内容),基本上以类似的方式如果您没有使用推送通知,内置邮件客户端的工作方式.

现在,从我到目前为止的阅读(我是一位经验丰富的程序员,但对iOS新手),我认为可能有两种可能的方法:

  • 方法1:在applicationDidEnterBackground:中,启动执行定期轮询的后台任务;
  • 方法2:向您自己的应用程序发送一个没有可见文本的UILocalNotification给用户,但这只是用于在X分钟内唤醒您的应用程序以进行轮询(然后为下一个时间发送自己的另一个通知等).

我在Apple的调度,注册和处理通知的文档中看到,他们实际上似乎有一个示例usign方法1(他们的"聊天"示例,清单2-2).但令人惊讶的是,这种方法似乎只是坐在一个连续的循环中进行轮询,没有干预睡眠; 在我更熟悉的平台上,这是不可取的,会烧掉CPU.

因此,我的问题的子部分基本上是: - 方法2是否可行(或UILocalNotification 必须始终对用户造成可见警报,这不是我想要的),如果是这样,建议的方法是这样做吗? - 如果要做到这一点的方法是方法1,那么Apple的"聊天"示例是坐在一个连续的循环中实际上是好的(例如,iOS配给CPU以使这不是问题),如果不是这样的话iOS告诉后台进程"睡眠时间为X秒/分钟"?如果Apple的连续循环无论出于何种原因都可以,那么轮询之间的时间间隔是什么呢?

NB我很欣赏能够在后台运行本质上是iOS 4的功能.我不介意我的应用程序是否只能在iOS 4中运行.

iphone multitasking

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

匹配iOS崩溃转储中的偏移到反汇编的二进制文件

我无法将iOS崩溃转储的堆栈跟踪中的偏移与otool输出的二进制反汇编中的偏移进行匹配.

任何人都可以确认我原则上如何匹配这些.例如,如果我在崩溃转储中获得一行:

0 myapp  0x00005b0a  0x1000 + 19210
Run Code Online (Sandbox Code Playgroud)

我希望二进制文件中违规指令的偏移量为0x5b0a,0x4b0a ....还是其他什么?

在解码头信息时,otool还提供了这样的信息(实际代码从文件中的偏移量0x0000224c开始):

Section
  sectname __text
   segname __TEXT
      addr 0x0000224c
      size 0x00063ad2
    offset 4684
     align 2^2 (4)
    reloff 0
    nreloc 0
      type S_REGULAR
attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
 reserved1 0
 reserved2 0
Run Code Online (Sandbox Code Playgroud)

所以,我并不是100%确定我正确地解释了这一点,但似乎是说代码在文件中的+ 0x224c处最终在内存中的偏移量0x124c,但后来我不确定这是怎么回事例如,安装在位置0x1000.

我遇到的问题是,假设偏移量为0x5b0a,那里的指令,0x4b0a和0x6b0a的指令都没有意义,因为它是有问题的实际指令(包括例如位于堆栈下方的位置然后不指向的事实)分支指令).

(我知道,至少在ARM的早期版本中,由于指令流水线,PC的值与相应的内存地址之间存在差异.我假设在报告的偏移量中会考虑这种差异在崩溃转储中,或者无论如何,我会看到有问题的分支指令,如果没有考虑到这样的差异,那么任何一方指示的指令......)

任何人都可以放弃任何光线吗?

otool ios

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

当父 div 在 JavaScript 中更改大小时动态设置行高/保持文本垂直居中

我试图在 HTML/Javascript 中实现以下目标:

  • 有一个彩色圆圈,其中有一段文本完全居中(水平和垂直);
  • 通过 JavaScript 动态地改变圆圈的大小,始终保持文本居中。

以下实现了其中第一个:

  • 使用 DIV 元素创建圆形,其样式具有适当的背景和边框半径;
  • 在 DIV 内,放置一个样式为“text-align: center”和“line-height:”的 P 元素。

例如:

p.circlecaption {
  text-align: center;
  line-height: 128px;
}
...
<div style="background: #a0a0a0; margin: 0px; width: 128px;
   height: 128px; border-radius: 64px;" id="theCircleDiv">
     <p class="circlecaption" id="theText">TEST!</p>
</div>
Run Code Online (Sandbox Code Playgroud)

这对于初始、静态的情况效果很好。当我尝试从 JavaScript 设置 line-height 属性以便在更改 div 大小时保持文本垂直居中时,问题就出现了。我期望像下面这样的东西能够工作:

var obj = document.getElementById('theCircleDiv');
var sz = '' + (rad*2) + 'px';
obj.style.width = sz;
obj.style.height = sz;
obj.style.margin = '' + (64 - rad) + 'px';
obj = document.getElementById('theText');
obj.style['line-height'] …
Run Code Online (Sandbox Code Playgroud)

javascript css

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

播放在iOS中通过网络连接逐渐流式传输的WAV文件

我正在使用第三方API,其行为如下:

  • 我必须连接到它的URL并发出我的请求,其中涉及POSTing请求数据;
  • 远程服务器然后一次发回"chunk",相应的WAV数据(我在NSURLConnectionDataDelegate的didReceiveData回调中收到).

对于参数而言,"chunk"是指数据的一些任意"下一部分",并不保证它对应于音频的任何有意义的划分(例如,它可能不与音频帧的特定倍数对齐,数量每个块中的字节数只是一些任意数字,对于每个块可以是不同的,等等).

现在 - 纠正我,如果我错了,我不能简单地使用AVAudioPlayer,因为我需要POST到我的URL,所以我需要通过NSURLConnection"手动"撤回数据.

那么......鉴于上述情况,那么当我从音频线上回来时,播放音频的最轻松的方式是什么呢?(我很欣赏我可以连接所有字节数组,然后将整个事物传递给最后的AVAudioPlayer--只是这会延迟播放的开始,因为我必须等待所有数据.)

core-audio avaudioplayer ios

6
推荐指数
1
解决办法
687
查看次数

将UISearchBar与表视图控制器一起使用并转换到另一个视图时显示问题

从iOS 8开始,我遇到了一个关于表视图/ UISearchBar设置的奇怪问题,并且想知道其他人是否遇到过类似的问题,或者可以指出什么,如果有的话,我可能做错了.广泛的情况:

  • 我有一个UITableViewController,里面有一个UISearchBar,在应用程序的Storyboard中设置
  • 表视图还有一个自定义单元格,再次在Storyboard中设置
  • 选择表格行会触发到另一个视图的segue
  • 执行搜索,从搜索结果中点击一行以切换到另一个视图,然后再次导航,触发各种问题.

"问题"是如果我按如下方式实现cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    MyCell *cell = (MyCell *) [self.tableView dequeueReusableCellWithIdentifier:@"MyId" forIndexPath:indexPath];
...
Run Code Online (Sandbox Code Playgroud)

换句话说,通过指定dequeueReusableCellWithIdentifier的路径,这会导致iOS 8中的BAD_ACCESS或断言失败(但不会导致iOS 7).具体来说,在上述情况下,在调用dequeueReusableCellWithIdentifier时发生断言失败或BAD_ACCESS,即,当搜索处于活动状态时,您将结果表中的一个单元格转换为另一个视图,然后再次进行转换.

现在,我可以通过调用来阻止错误发生:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    MyCell *cell = (MyCell *) [self.tableView dequeueReusableCellWithIdentifier:@"MyId"];
...
Run Code Online (Sandbox Code Playgroud)

没有传入indexPath.这样就可以正常工作,但是在使用搜索结果回到表格视图时,会出现奇怪的显示问题,从而在搜索结果下面分层,似乎是"鬼"表的分隔符,几乎就像系统正在尝试将一个表直接呈现在另一个表之上(但为每个表调用cellForRowAtIndexPath ,仅针对搜索结果表按预期调用).

无论segue是附加到单元格还是表视图控制器,我都会遇到同样的问题(所以在后一种情况下,我实现了didSelectRowAtIndexPath来手动触发segue).

那么:(a)任何人都可以指出我可能做错的事情导致这些问题,或者(b)指向一个带有UISearchBar的表视图控制器的简单工作示例,其中表格单元格转换到另一个视图?我很惊讶我遇到了很多问题,因为实现一个带有详细视图的可搜索表必须是一个人们常常做的常见,无聊的事情,不是吗?

展示iusse的示例项目: http ://www.javamex.com/DL/TableTest.zip

cocoa-touch uisearchbar ios

6
推荐指数
2
解决办法
1135
查看次数

用于检查iOS编译的ARM反汇编程序/交叉编译器

任何人都可以推荐:

  • 一个ARM反汇编程序,可以在Windows或MacOS中运行,理想情况下可以理解iOS使用的可执行格式
  • 在MacOS中,一种直接从命令行调用XCode安装的交叉编译GCC的方法(这样我就可以在一个小的测试文件上运行它并要求汇编输出).

基本上,我很想知道XCode/gcc如何为ARM/iOS编译某些东西以帮助我进行优化.正如你所看到的,虽然我同时拥有Windows和Linux的背景下,我没有从根本的是Mac专家,所以我不是太熟悉,例如其中的XCode intsalls所有gubbinry或任何二进制格式的iOS使用的来龙去脉.

我并不特别在意我是否必须做在Mac OS或Windows的"拆卸",但我试图避免被安装GCC配置为一个全新的副本,交叉编译到ARM,因为XCode的大概有一个完美的好的安装已经坐在那里...任何帮助赞赏.

iphone arm cross-compiling disassembly ios

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