「javajmf视频教程」java jmf

博主:adminadmin 2022-11-26 08:51:06 68

本篇文章给大家谈谈javajmf视频教程,以及java jmf对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用java做音视频播放器

我做过一个MP3的..给你看看.

package music;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

import javax.media.bean.playerbean.*; //这个包要用到JMF

public class MP3 extends JFrame implements Runnable {

public JLabel shijian;

private JSlider sldDiameter;

public MediaPlayer soumd1;

public JButton playSound, loopSound, stopsound;

public JButton tjian, shanc, baocun, duqu;

public JPanel jp1, jp2, jp3, jp4;

public JList jl;

int zongmiao=0;

public Vector vector, mingcheng;

boolean fo = false, geshi = false;

JLabel jl1, jl2, sj1, sj2;

JTextField jt1, jt2;

JButton queding, xiugai;

int zong = 0;

int a = 0, b = 0, you = 1,mm=0;

int fenzhong, miaozhong;

public MP3() {

super(“java简单音乐播放器“);

soumd1 = new MediaPlayer();

Container c = getContentPane();

c.setLayout(new FlowLayout());

mingcheng = new Vector();

jp1 = new JPanel();

shijian = new JLabel();

jp1.add(shijian);

c.add(jp1);

playSound = new JButton(“开始播放“);

loopSound = new JButton(“循环播放“);

stopsound = new JButton(“停止播放“);

jp2 = new JPanel();

jp2.add(playSound);

jp2.add(loopSound);

jp2.add(stopsound);

c.add(jp2);

jp4 = new JPanel();

sj1 = new JLabel();

sj2 = new JLabel();

sldDiameter = new JSlider(SwingConstants.HORIZONTAL, 0, 100, 0);

sldDiameter.setMajorTickSpacing(1);

sldDiameter.setPaintTicks(true);

jp4.add(sj1);

jp4.add(sldDiameter);

jp4.add(sj2);

c.add(jp4);

vector = new Vector();

jl = new JList(mingcheng);

jl.setVisibleRowCount(5);

jl.setFixedCellHeight(40);

jl.setFixedCellWidth(265);

jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

c.add(new JScrollPane(jl));

tjian = new JButton(“添加“);

shanc = new JButton(“删除“);

duqu = new JButton(“读取“);

baocun = new JButto

摘选自网上,希望对你有帮助。

Java用JMF编写的视频播放器播放本地文件只有声音没有图像,求解啊!!!

需要安装对应的解码器 (decoder),JMF 本身并不自带所有的解码器,跟 Windows Media Player 一样,它也是查找系统中注册过的解码器,你用 Windows Media Player 来播放估计也是一样只有声音没有图像。

我们可以在网上搜索常用的解码器(只是解码器不包含播放器)来安装。

JAVA的JMF如何实现从特定时间点开始播放并结束于特定时间点

哦,我之前学习时候用swing写过一个播放器,带播放进度条和播放模式,不过界面不好看。

部分代码也许对你有帮助。

方法一

/**

* 开始播放songList集合中第index首歌曲,并返回播放路径

* @param mpf

* @param b(b为真则播放第index首,如果为假则播放原来那首)

* @return

*/

public static String playBegin(MediaPlayerFrm mpf,int b,Time time) {

mpf.btnBegin.setText("播放");

if (mpf.index 0) {

return null;

}

// 如果当时没有音乐播放就走上面-----如果当时有音乐在播放就走下面

if (!mpf.isSing) {

mpf.singing = mpf.songVec.get(mpf.index);

mpf.af = new AudioFile(mpf.singing);

mpf.af.play();

} else{

System.out.println("cut------------换个歌");

// 辞旧

playEnd(mpf);

// 迎新

//如果是1,就是按index播放,如果是2就播放原来那首歌,如果是3就按time播放原来那首歌

if(b==1){

mpf.singing = mpf.songVec.get(mpf.index);

mpf.af = new AudioFile(mpf.singing);

mpf.af.play();

}else if(b==2){

mpf.af = new AudioFile(mpf.singing);

mpf.af.play();

}else if(b==3){

mpf.af = new AudioFile(mpf.singing);

mpf.af.getPlayer().setMediaTime(time);

mpf.af.play();

}

}

mpf.btnBegin.setText("暂停");

mpf.isSing = true;

// 线程2,控制进度条和时间

new Thread(new PlayThread(mpf)).start();

// 线程1,时刻检查歌曲是否唱完

new Thread(mpf).start();

return mpf.singing;

}

方法二 这个是当点击进度条的时候让播放器在新的位置播放文件

public void mouseClicked(MouseEvent e) {

if(e.getSource()==btnLeft){

if(e.getX()=3){

playBegin(this,2,null);

return;

}

if(!isSing||changeless==0.0){

return;

}

int newBorderline=e.getX()-3;

setSchedule(this, newBorderline);

//设置新的播放位置

double newLoc=changeless*(newBorderline*1.0/300);

JOptionPane.showMessageDialog(this, newLoc);

if(newLoc==0.0){

return;

}

//把player停掉

af.getPlayer().stop();

Time newTime=new Time(1);

// playBegin(this,3,new Time(newLoc));

}

}

从上次关掉时结束的1分19秒开始,然后播到2分33秒的时候结束,

可以将关闭时候播放前播放的歌曲和时间持久在文件中,在每次打开播放器就读取文件。

至于需要在两个时间段中,循环,可以在播放的时候,开启一个子进程,让子进程去监控时间。

javajmf视频教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java jmf、javajmf视频教程的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。