java – 为媒体播放器制作搜索栏.
作者:互联网
我正在使用JMF制作媒体播放器,我想使用自己的控件组件
任何人都可以帮我制作媒体播放器的搜索栏,以便它可以根据滑块位置播放歌曲.
只是建议我一些逻辑,我可以事后弄清楚编码部分
if(player!=null){
long durationNanoseconds =
(player.getDuration().getNanoseconds());
durationbar.setMaximum((int) player.getDuration().getSeconds());
int duration=(int) player.getDuration().getSeconds();
int percent = durationbar.getValue();
long t = (durationNanoseconds / duration) * percent;
Time newTime = new Time(t);
player.stop();
player.setMediaTime(newTime);
player.start();
mousedrag=true;
这是代码.现在我如何让滑块与歌曲一起移动?
我拖动/点击它时滑块有效,但它不随着歌曲移动.
解决方法:
使用滑块的问题是,当以编程方式移动滑块位置时,它会触发事件.在滑块上触发事件时,通常表示应用程序.必须做点什么,比如移动歌曲位置.效果是永无止境的循环.通过设置标志并忽略某些事件,可能有办法解决这个问题,但我决定采用不同的方式.
相反,我使用JProgressBar来指示轨道中的位置,并使用MouseListener来检测用户何时单击一个单独的位置.使用Swing Timer更新进度条,每隔50-200毫秒检查一次轨道位置.检测到MouseEvent时,重新定位轨道.
该栏位于此GUI的右上角.将鼠标悬停在它上面会产生一个工具提示,显示该鼠标位置的轨道时间.
标签:java,swing,jmf 来源: https://codeday.me/bug/20190718/1494630.html