我正在尝试使用 Chrome Mobile 中的 HTML5 视频播放器播放由第三方流式传输的视频,我面临的问题是视频可以在最小化时播放一段时间,一段时间后它决定退出并返回MEDIA_ERR_SRC_NOT_SUPPORTED - 音频/视频不支持错误;当我从最小化到最大化然后一遍又一遍地切换到最小化时,问题发生得更快。如果我不断点击视频本身,它似乎也发生得更快,我还隐藏了默认控件并使用我自己的自定义控件。
什么可能导致这个问题?我用 QuickTime 播放器在 Safari 中尝试了同样的事情,视频源没有死
编辑:做了一些更多的挖掘,发现了这个: Android HLS video mime type
我收到一个播放列表 m3u8 文件,但我的请求链接中没有 m3u8 但如果没有 m3u8 关键字,视频是否应该播放?我也在 android 4.4.4 上测试这个
html webkit google-chrome video-streaming http-live-streaming
我有一个项目world_app,我已将其作为依赖项包含在hello_app 中(如果相关,我已将其作为本地依赖项包含在内)
defp deps do
[
{:world_app, path: "../world_app"}
]
end
Run Code Online (Sandbox Code Playgroud)
该world_app有config.exs有此配置
config :world_app, some_config: "config_string"
Run Code Online (Sandbox Code Playgroud)
当我尝试在hello_app 中获取在world_app中定义的配置变量时出现了我的问题(我在hello_app 中运行了 iex -S mix)
iex(1)> Application.get_all_env(:world_app)
[included_applications: []]
iex(2)> Application.get_env(:world_app, :some_config)
nil
Run Code Online (Sandbox Code Playgroud)
但是,当我在world_app 中做同样的事情时,我可以看到变量
iex(1)> Application.get_all_env(:world_app)
[some_config: "config_string", included_applications: []]
iex(2)> Application.get_env(:world_app, :some_config)
"config_string"
Run Code Online (Sandbox Code Playgroud)
我一直以为我可以从父应用程序访问依赖项的配置;我在这里错过了一些重要的东西吗?
我正在使用 Elixir 1.5.3 和 erlang 20
我遇到了一些关于柔韧性盒的问题,随着文本/内容的增长,柔韧性盒超出了容器的范围,并且仅在达到容器的指定最大宽度时才应用椭圆。
这是不理想的,因为父容器可以缩小到x像素,并且文本会强制其增长到我不希望的最大宽度。
看着这个小提琴,如果我删除overflow: hidden从child1并将其应用到main,文本将刚刚被切断。
如果我overflow: hidden从中删除main并将其应用于child1,则会实现我想要的行为。
如果我overflow: hidden从它们两个中删除,则容器和文本将一直持续下去。
我只想知道为什么申请overflow: hidden才能child1产生期望的行为。文本不应该像溢出一样被截断main吗?
.main {
display: flex;
border: 1px solid black;
height: 200px;
padding: 10px;
//overflow: hidden;
}
.child1 {
display: flex;
border: 1px solid red;
height: 100px;
overflow: hidden;
}
.child2 {
flex: 1 1 auto;
text-align: center;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}Run Code Online (Sandbox Code Playgroud)
<div class="main">
<div class="child1">
<div …Run Code Online (Sandbox Code Playgroud)我一直在阅读有关该主题的文章,但对多线程和并行性有些困惑;我读过这个问题
“在多线程系统中,如何在CORES之间分配线程?可以说我有一个创建6个线程的程序。我的系统有3个CORES。在这种情况下,线程将分配在3个CORE之间,或者所有线程都在同一线程上执行核心?” -具有3个逻辑核心的物理CPU
问题的答案表明,我必须告诉OS哪个内核执行什么操作,这是使用Java或C#等语言进行多线程处理时的普遍真理吗?
在未指定哪个内核的情况下,如何用Java或C#等语言编写的多线程程序可以实现并行化?
我一直在学习一些erlang,并且达到了产生这些进程的主题。erlang会告诉OS将不同的进程分配给不同的内核吗?我从“ 学习一些语言”中看到了这段代码,它产生了10个进程,每个进程都会打印出一个数字,但是为什么要使用timer:sleep呢?是不是只是在使程序看起来并行时才停止运行,而是让其他程序可以运行(例如并发)?
4> G = fun(X) -> timer:sleep(10), io:format("~p~n", [X]) end.
#Fun<erl_eval.6.13229925>
5> [spawn(fun() -> G(X) end) || X <- lists:seq(1,10)].
Run Code Online (Sandbox Code Playgroud)
我在Java中实现了这一点,并得到了类似的结果,我创建了6个线程,每个“线程”都有一个循环,在该循环中打印线程名称,然后打印一个数字,然后休眠10毫秒。
public class ThreadTest {
public static void main(String args[]) {
Thread t1 = new Thread(new Thread2());
Thread t2 = new Thread(new Thread3());
Thread t3 = new Thread(new Thread4());
Thread t4 = new Thread(new Thread5());
Thread t5 = new Thread(new Thread6());
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}
Run Code Online (Sandbox Code Playgroud)
看两个程序,它们是同时执行还是并行执行?我也意识到计算机速度很快,但是即使我不让java程序进入睡眠状态,它也只会一遍又一遍地打印东西。但是,使用erlang时,如果我取消睡眠,则有时会打印出很多数字,然后打印出进程数并继续计数,或者打印出所有数字,最后列出进程。
参考上面的问题,java是在一个内核上同时执行操作(使用上下文切换)还是使用更多的内核并并行执行操作,但是速度太快,无法给我随机结果?(不睡觉)
erlang是否使用更多的内核并并行处理事务,因为有时它会在计数中间打印出进程列表?(不睡觉)
注意:我故意遗漏了其他线程的代码,只是认为最好解释一下这些类的作用。
我有一个我想删除的mnesia表.但是,当我尝试运行时,:mnesia.delete(TableName)我得到了这个错误{:aborted, {:no_exists, TableName}}
当我尝试通过运行创建相同的表时:mnesia.create_table(TableName, [attributes: [:id, :att1, :att2], disc_copies: [Node.self()]])我得到了回来{:aborted, {:already_exists, TableName}}
.DCD删除后,我仍然可以看到该表的文件,是什么导致这种情况以及如何解决?
注意:代码位于Elixir代码库中.
编辑:当我的应用程序启动时,我尝试删除并重新创建该表,即使它存在.