JMF捕获技术(音频)

原创 2006年06月07日 21:15:00

JMF捕获技术(音频)

 

JMF可以捕获语音和视频设备,也就是利用JMF可以控制麦克、摄像头这些音视频设备,在这里要讨论的是如何利用JMF来让麦克工作,在自己的机器上测试,让你听到自己的声音。

 

下面是要涉及到的主要的类:

 

CaptureDeviceManagerCaptureDeviceInfoVectorMediaPlayerDataSourceMeidaLocatorAduioFormatVideoFormatFormat

 

可以在Sun公司提供的Document上查阅,也可以下下来,网址记不住了。可以先看一下,有个初步的了解,然后看完例子再回来看类库,这样可能会好一些。

 

public class CaptureDeviceManager

extends java.lang.Object

CaptureDeviceManager is a manager class that provides access to a list of the capture devices available on a system. CaptureDeviceManager uses a registry and query mechanisms to locate devices and return CaptureDeviceInfo objects for available devices. The CaptureDeviceManager is also used to register new capture devices.

 

public class CaptureDeviceInfo

extends java.lang.Object

implements java.io.Serializable

A CaptureDeviceInfo object contains information about a particular capture device.

public class MediaPlayer

extends java.awt.Container

implements Player, java.io.Externalizable

MediaPlayer encapsulates a player in a JavaBeansTM component. MediaPlayer implements the Player and Externalizable interfaces.

A MediaPlayer can be used as a full-featured Player with either the default Player controls or custom controls.

 

 

还会涉及到一个监听接口:

 

ControllerListener。这个主要是用来监听媒体播放器的接口的。

 

1、捕获音频设备

/*

 * @author : kenny

 */

import javax.media.*;

....................

public class CaptureAudio {

 

Vector deviceList = new Vector();

AudioForamt audio = new AudioFormat(AudioFormat.LINEAR);

Format audioFormat = (Format)audio;

    MediaPlayer player = null;

    MediaLocator locator = null;

    CaptureDeviceInfo captureInfo ;

   

public CaptureAudio() {

deviceList = CaptureDeviceManager.getDeviceList(audioFormat);

captureInfo = (CaptureDeviceInfo)deviceList.get(0);

locator = captureInfo.getLocator();

    }

 

    public void play() {

player = new MediaPlayer();

player.setMediaLocator(locator);

player.addControllerListener(this);

 

player.realize();

    }

 

 

public void controllerUpdate(ControllerEvent e) {

       if(e instanceof RealizeCompleteEvent)

           player.prefetch();

       if(e instanceof PrefetchCompleteEvent)

           player.start();

}

 

public static void main(String[] args) {

    CaptureAudio audio = new CaptureAudio();

    audio.play();

}

}

 

 

相关文章推荐

使用JMF在java上使用媒体资源(播放音频等)

java JMF媒体库简单使用和图形界面的中国象棋小游戏。
  • kydkong
  • kydkong
  • 2015年07月22日 12:22
  • 488

JMF实现从摄像头和麦克截取视频和音频流进行播放

利用JMF捕获媒体数据的过程: 1.定位所需要用的捕获设备,可以通过查询CaptureDeviceManager来定位。 2.获取这个捕获设备的信息CaptureDeviceInfo对象。 3....

JMF 利用RTPManager进行视频音频流传输聊天

JMF(Java Media Framework)想必大家都不陌生  它为音频和视频等媒体内容的捕获、回放、传输和编码转换等提供了一个统一的架构 视频传输大概思路如下 其中有几个常用到的类  - >...

使用JMF编写同时提取视频流和音频流并且播放的案例

使用JMF可以同时提取视频流和音频流,然后通过数据源的混合,可以达到视频音频同时收集和播放的功能。其中主 要是通过数据源的混合,也就是视频流和音频流的数据源的混合。下面我们来写一个例子。通过开启摄像...

JMF应用篇 之 创建音频播放器

在本节中,我们将进行创建一个简单的音频播放器的第一个练习。本例将介绍Manager类和Player接口,中两个都是建立大多数基于JMF应用的重要部分。 本例的功能目标是在字符界面下播放本地的音频文件...

使用JMF进行视频、音频的采集与实时传送

许多朋友在找关于网络视频会议的资料,希望对这方面感兴趣的朋友有所帮助。也真诚希望大家多多交流。   一.简介   1.1JMF 体系结构简介   在开发JMF 应用程序之前要完全理解JMF...
  • ycb1689
  • ycb1689
  • 2012年10月15日 15:21
  • 1067

网络121第7周实验——JMF(Java多媒体框架)的应用(音频、视频、摄像头等)

学会解决问题的能力,我们才能够

利用JMF开发视音频应用代码参考

  • 2012年11月10日 10:54
  • 44KB
  • 下载

用jmf写的音频播放器

  • 2010年09月16日 15:45
  • 2KB
  • 下载

利用Java 3D技术播放动画之JMF技术

Java 3D场景中动画片段的播放为更丰富更生动的3D内容带来了进一步发展的机会。动画可以显示更逼真的背景,例如运动的云彩,繁忙的城市街道,或者窗外的场景等等。动画可以使得帮助信息更生动,也可以用于游...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JMF捕获技术(音频)
举报原因:
原因补充:

(最多只允许输入30个字)