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捕获音频设备.

     本文是作者毕设所设计到的技术,因为已经做完,所以想将一些技术总结与大家分享一下,希望能和大家有交流的机会.     捕获音频设备的核心代码先写如下:AudioFormat audioForm...
  • netwarning
  • netwarning
  • 2006年05月27日 17:47
  • 1951

JMF捕获音频

1. 捕获媒体数据的步骤:(1)查询CaptureDeviceManager,来定位你需要使用的媒体采集设备。(2)得到此设备的CaptureDeviceInfo实例。(3)从此CaptureDe...
  • phinecos
  • phinecos
  • 2007年09月24日 20:55
  • 580

JMF捕获技术(视频)

最近由于项目要求要获取视频.在网上找了些代码又对其修改.这个是视频类.package com.cayden.video; import java.awt.Component; import j...
  • cuiran
  • cuiran
  • 2010年06月10日 10:32
  • 1671

JMF(二) 之 捕获音频

  • beidou321
  • beidou321
  • 2009年07月07日 23:08
  • 1577

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

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

简单使用JMF调用摄像头

JMF(Java Media Framework)是Java媒体框架,包含了许多用于处理多媒体的API可以让基于JAVA的应用实现音频、视频的捕捉、处理、播放、传输等功能。利用它,可以实现音、视频播放...
  • liuruiqun
  • liuruiqun
  • 2015年10月13日 23:53
  • 1536

利用JMF实现简单的音频播放器(展示歌词)

第一个类:主要实现对音乐的播放及停止 public class PlayMusic { public static Player playMusic(String MusicPath){ ...
  • Zidane_2014
  • Zidane_2014
  • 2015年09月17日 17:31
  • 1007

JMF实现将从摄像头和麦克读取的媒体信息保存成视频文件

编写JMF的程序最应该注意的是player的状态,因为只有player经过了正常的状态转换才能够正常进行读取媒体信息,和对媒体信息进行正常的操作。 以下是对读取的媒体信息进行保存的测试,程序启动后会...
  • liuchangqing123
  • liuchangqing123
  • 2012年03月08日 21:25
  • 2101

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

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

JMF捕获音频和视频(转贴)

1.  1、捕获媒体数据的步骤:l 查询CaptureDeviceManager,来定位你需要使用的媒体采集设备。l 得到此设备的CaptureDeviceInfo实例。l  从此CaptureDev...
  • yangxt
  • yangxt
  • 2007年08月05日 15:18
  • 915
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JMF捕获技术(音频)
举报原因:
原因补充:

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