问题列表 - 第43433页

用Java处理视频(DVD,.avi .mkv)

在环顾四周寻找一个体面的图书馆用Java播放视频之后,我已经不知所措了.周围的每个人都在尖叫不要使用JMF,因为它已经过时,过时而且需要用户安装它,其他替代品如VLCJ似乎很好,如果它们工作但仍然相对不稳定并依赖大量本机代码,并且至于处理DVD,在免费图书馆看起来像金尘!

当前选项:

  • 现在JavaFX 2正在获得动力,这是我一直在认真研究的东西(因此我的问题在这里)但是到目前为止我没有运气试图弄清楚如何让它比标准的FLV视频更糟糕.
  • VLCJ的工作做得很好(参见我目前的答案),目前我正在努力.它使用libvlc来做任何事情,因为它可以播放几乎任何文件并且开箱即用DVD.最大的问题是你必须为每个玩家使用多个虚拟机才能使其稳定运行,这意味着响应速度相对较慢.我还没有这种方法在Mac上工作.
  • JMF是荒谬的过时,可怕的,就我而言,并不是一个真正的选择.我过去玩过它,经验不是很好!
  • FMJ表示这是JMF的替代下降.我还没有像我和其他大多数人那样让它发挥作用,这本身就让我对它的质量和理解感到厌倦,即使我设法让它发挥作用!
  • Xuggler非常适合它的功能,它有很棒的教程,而且编写得非常好.虽然它对于低级转码工作很有用,播放视频并以正确的顺序和同步等方式获取帧只是一个正常工作的噩梦,并再次添加更多代码,这意味着更多的维护,可能更多的错误等等...
  • 我还没有尝试过任何愤怒的GStreamer-Java,虽然它似乎不支持DVD播放(它是一个我正在研究的开源应用程序,所以商业插件也不是一个选项)并且它的编解码器支持不会似乎是最宽的.
  • JCodec是一项有趣的工作,是我见过的唯一一个从纯Java角度实现视频支持的工作 - 但目前缺乏对格式的支持,这是一个相对较新的项目.
  • 在我想要支持的每个平台的不同本地库中自己写一些东西.这是绝对的最后选择,因为它需要额外的维护和编码时间.

基于以上(或其他任何你能想到的),人们会推荐哪些选项,还有其他任何我错过的合理选择吗?或者其他任何人认为可能在不久的将来可用?

java api video media-player

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

Python - 任何人都有一个memoizing装饰器,可以处理不可用的参数?

我一直在使用下面的memoizing装饰器(来自伟大的书籍Python算法:掌握Python语言中的基本算法......喜欢它,顺便说一句).

def memo(func):
    cache = {}
    @ wraps(func)
    def wrap(*args):
        if args not in cache:
            cache[args] = func(*args)
        return cache[args]
    return wrap
Run Code Online (Sandbox Code Playgroud)

这个装饰器的问题是基于字典的缓存意味着我的所有参数都必须是可清除的.

有没有人有一个允许不可用的参数(例如字典)的实现(或对这一个的调整)?

我知道缺少哈希值意味着"这是否在缓存中?" 变得非常重要,但我只是想我会问.

===编辑给出上下文===

我正在开发一个函数,它返回一个Parnas风格的"使用层次结构"给定模块的字典:依赖项.这是设置:

def uses_hierarchy(requirements):
    """
    uses_hierarchy(requirements)

    Arguments:
    requirements - a dictionary of the form {mod: list of dependencies, }

    Return value:
    A dictionary of the form {level: list of mods, ...}

    Assumptions:
    - No cyclical requirements (e.g. if a requires b, b cannot require a).
    - Any dependency not listed as a mod assumed …
Run Code Online (Sandbox Code Playgroud)

python memoization

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

需要解释android布局语法

这是布局文件中的一行

 <TextView 
        android:id="@+id/username"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="@string/username"
        android:textAppearance="?android:attr/textAppearanceMedium"> 
Run Code Online (Sandbox Code Playgroud) 在上下文中,究竟是什么意思
android:textAppearance="?android:attr/textAppearanceMedium" 
Run Code Online (Sandbox Code Playgroud) 是否与"?[package:] [type:] name"相关,如果是,则指的是什么?

layout android

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

vim行尾

我想查看gvim中哪些行结尾.我经常在陈述后有空格,我不想拥有.如何切换此编辑器功能?

vim

9
推荐指数
1
解决办法
8580
查看次数

C++中的快速地图实现

我现在有一个工作实现,映射范围的键,如下所示:

class Range {
public:
    Range(int from, int to = -1) : _from(from), _to( to >= 0 ? to : from) {}
    bool operator < (const Range& item) {
        return _to < item._from;
    }
    bool operator == (const Range& item) {
        return item._from >= _from && item._to <= _to;
    }
private:
    int _from, _to;
};

typedef std::map<Range, MappedType> my_map_type;
Run Code Online (Sandbox Code Playgroud)

很酷的是,我能做到:

my_map_type m;
m[Range(0, 20)] = Item1;
m[Range(30,40)] = Item2;

my_map_type::iterator it = m.find(15);
assert(it->second == Item1);
it = m.find(40);
assert(it->second …
Run Code Online (Sandbox Code Playgroud)

c++ map

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

移动文件时是否收到此消息?mv:不会覆盖刚创建的

我有一个bourne shell脚本,它执行几个任务.其中一项任务是将某些文件移动到某个目录.今天,当我运行脚本时,我收到以下消息:

mv: will not overwrite just-created <filename> with <sameFilename>
Run Code Online (Sandbox Code Playgroud)

其中filename是具有完整路径的原始文件名,而sameFilename是完全相同的文件和路径.我经常每天使用这个脚本,之前从未收到此消息.

在运行脚本后,我重新运行它以查看错误是否仍然存在,并且我无法再次重现它.我在Red Hat 5 Enterprise中运行此脚本.

shell redhat move overwrite

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

如何在属性网格中将bool属性显示为Yes | No?

我知道我可以通过编写自定义类型描述符等来实现这一点,但是这个要求是多么简单; 我错过了一个简单的方法.

能够在BooleanConverter中设置"true"和"false"的字符串可能就是我所需要的,但是标准的BooleanConverter似乎不允许你设置自定义字符串.

.net propertygrid winforms

10
推荐指数
1
解决办法
3408
查看次数

如何让gcc警告将错误的枚举传递给函数

gcc似乎没有使用以下代码生成警告.如何让它产生警告?

typedef enum
{
    REG8_A,
    REG8_B,
    REG8_C
}REG8;

typedef enum
{
    REG16_A,
    REG16_B,
    REG16_C
}REG16;

void function(REG8 reg8)
{

}

int main(void)
{
    function(REG16_A);    // Should warn about wrong enum
}
Run Code Online (Sandbox Code Playgroud)

enums gcc gcc-warning

23
推荐指数
3
解决办法
7656
查看次数

java enums:概念疑问

考虑枚举:

enum day{ MONDAY, TUESDAY};
Run Code Online (Sandbox Code Playgroud)

什么是星期一,星期二.sun文档说它们是特殊类类型枚举中的字段.但是,如果是这样的话,我们为什么要这样做:

day d=day.MONDAY  
Run Code Online (Sandbox Code Playgroud)

我的意思是我们如何将类常量赋给类变量.

java enums

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

我想用c#.net计算字符串中每个唯一的字母

我想写一个问题从命令行读取文本文件并输出每个唯一字母的计数,按字母顺序排序.在C#中对此程序的任何建议示例:

堆栈溢出

输出:

a 1 c 1 k 1 t 1 s 2

c#

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

标签 统计

enums ×2

java ×2

.net ×1

android ×1

api ×1

c# ×1

c++ ×1

gcc ×1

gcc-warning ×1

layout ×1

map ×1

media-player ×1

memoization ×1

move ×1

overwrite ×1

propertygrid ×1

python ×1

redhat ×1

shell ×1

video ×1

vim ×1

winforms ×1