100分提问!!
vlc player是一个能提供组播服务的播放器
本人要实现以下功能:
把vlc player打开并提供组播,然后在一定时间过后将vlc player关闭,代码如下:
String cmd= "c:\\Program Files\\VideoLAN\\VLC\\vlc -vvv e:\\audio\\yourcolor.mp3 --sout udp:[ff09::1] ";
//上面一行打开vlc并提供组播
//String cmd= "c:\\Program Files\\VideoLAN\\VLC\\vlc e:\\audio\\yourcolor.mp3 ";
//上面一行仅仅代开vlc并播放一个本地文件
Process p=Runtime.getRuntime().exec(cmd);
Thread.sleep(5000);
p.destroy();
现在出现的问题是用了sleep做延迟时间后,vlc的界面并不显示出来,抓包看也不向组播地址发送数据,但是进程列表中有vlc.exe,5秒钟后程序结束,同时把vlc关闭。
但是如果不开组播,仅仅时播放一个本地文件则程序和我的预期一样。
另外计时的方法我还用过java.util.Timer结果和上面。
请问这个问题如何解决
------解决方案--------------------uppppppppp
------解决方案--------------------代码能不能多贴些,没有办法测试呀,
------解决方案--------------------组播 什么意思? 一组组的播--播放列表
------解决方案--------------------你在Windows里直接运行 "c:\\Program Files\\VideoLAN\\VLC\\vlc -vvv e:\\audio\\yourcolor.mp3 --sout udp:[ff09::1] "有什么反应?
如果结果不是预期的,那么请在这个命令上找原因。
如果结果是预期的,那么再回来在这个程序上找原因。
建议把你的程序都帖过来!
------解决方案--------------------很难讲。
------解决方案--------------------接点分啊~~~
UP~
------解决方案--------------------husl(胡少磊) :
就是放一个电影什么的,然后别人可以通过网络观看,和点播是相对的
你现在用VLC播放器实现?这个应该用JMF,你这个就算实现了也跟JAVA没关系,只不过去掉个播放器而已.这还不如研究下播放器
------解决方案--------------------用wait()试一试
------解决方案--------------------路过,友情up!
------解决方案--------------------修改如下:
Process p=Runtime.getRuntime().exec(cmd);
p.waitFor();//阻塞,直到cmd执行完毕。。。
Thread.sleep(5000);
p.destroy();
------解决方案--------------------不懂,接分!
------解决方案--------------------Process p=Runtime.getRuntime().exec(cmd);
Thread.sleep(5000);
p.destroy();
------------------------------------------------
可以p.getErrorStream()看看有什么异常啊,就这个代码看不出有什么的.
我估计是分隔符的问题,你把String cmd= "c:\\Program Files\\VideoLAN\\VLC\\vlc -vvv e:\\audio\\yourcolor.mp3 --sout udp: 的文件分隔符换成"/"试试.
------解决方案--------------------作业?
------解决方案--------------------可能是由于进程之间的关系,Process p=Runtime.getRuntime().exec(cmd);启动一个子进程,但由于主进程休眠所以子进程就不显示了.
---------------------------------------------
修改如下:
Process p=Runtime.getRuntime().exec(cmd);
p.waitFor();//阻塞,直到cmd执行完毕。。。
Thread.sleep(5000);
p.destroy();
------------------------------------------------
这个方法可以试试.
------解决方案--------------------up
------解决方案--------------------Process p=Runtime.getRuntime().exec(cmd);
p.waitFor();//阻塞,直到cmd执行完毕。。。
Thread.sleep(5000);
p.destroy();
就可以了吧
------解决方案--------------------帮顶~接分~~~~~~~~
------解决方案--------------------