关于jfm捕获声音的问题
最近在学习有关jmf的知识,在用jmf捕获声音时出现的问题,代码如下:
- package jmf;
- import java.awt.Component;
- import java.util.Vector;
- import javax.media.*;
- import javax.media.format.AudioFormat;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class CaptureAudio2 extends JFrame implements ControllerListener{
- Player player = null;
- MediaLocator locator = null;
- CaptureDeviceInfo captureInfo ;
- private JPanel panel;
- Component com1;
- Component com2;
- public CaptureAudio2()
- {
- Vector<CaptureDeviceInfo> deviceList = CaptureDeviceManager.getDeviceList(new AudioFormat(AudioFormat.LINEAR,44100,16,2));
- captureInfo = (CaptureDeviceInfo)deviceList.get(0);
- locator = captureInfo.getLocator();
- }
- public void createComponent() {
- setTitle("视频信号");
- // addWindowListener(new WinClose());
- //setBounds(100, 100, 400, 400);
- panel = new JPanel();
- if ((com1 = player.getVisualComponent()) != null) {
- panel.add(com1);
- }
- if((com2=player.getControlPanelComponent())!=null)
- panel.add(com2);
- add(panel);
- pack();
- setVisible(true);
- }
- public void play()
- {
- try {
- player = Manager.createPlayer(locator);
- player.addControllerListener(this);
- player.realize();
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- public void controllerUpdate(ControllerEvent e)
- {
- if(e instanceof RealizeCompleteEvent)
- {
- player.prefetch();
- createComponent();
- }
- if(e instanceof PrefetchCompleteEvent)
- player.start();
- }
- public static void main(String[] args)
- {
- CaptureAudio2 audio = new CaptureAudio2();
- audio.play();
- }
- }
运行后的视图如下:
不过之前我用jmf捕获音频并保存到本地是可以捕获到的,但我是用手机开非常大的声音才勉强可以捕获到,现在我是用MP3的耳塞在做声源,用电脑接收后直接播放出来,结果就是没声音。但我看哪个Media Properties 和 PlugIn Viewer 貌似又是启动的捕获过程。不知道为什么,问同学也没有人知道,老师也不是很懂这个......只能来51cto求助了..
转载于:https://blog.51cto.com/5075496/876204
关于jfm捕获声音的问题相关推荐
- 声音以模拟信号的形式存储在计算机中,08计算机1-2班《计算机基础》自学资料(5)...
08计算机1-2班<计算机基础>自学资料(5) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 UNIT 5一.多媒体 ...
- C# DirectX.DirectSound声音播放
英文原文:https://msdn.microsoft.com/en-us/library/windows/desktop/bb318665(v=vs.85).aspx Microsoft Direc ...
- 1小时学会:最简单的iOS直播推流(四)如何使用GPUImage,如何美颜
最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),美颜,flv编码,rtmp协议,陆续更新代码解析,你想学的知识这里都有,愿意懂直播技术的同学快来看!! 源 ...
- 网页录音解决方案 FlashWavRecorder For Website API 关键地方已注释
[原创文章],转载请注明作者博客:www.92ez.com或博客园地址 作者:KBdancer 前段时间由于项目需要,客户需求中有一条是要实现WEB端的录音功能,起初想到的是HTML5实现,经过几轮百 ...
- android视频分享功能吗,Unity 调用 Android 分享功能(基于ShareRec SDK视频分享)
需求 Mob 平台是一个强大的提供分享功能的平台,为移动开发者提供 ShareSDK 社交分享.ShareREC 手游录像分享.短信验证码 SDK 及 BigApp 等免费服务. Unity 使用 S ...
- mfcc中的fft操作_简化音频数据:FFT,STFT和MFCC
mfcc中的fft操作 What we should know about sound. Sound is produced when there's an object that vibrates ...
- Android 5.0 API 的变化——开发人员注意
Android 5.0 API变化 译自 http://developer.android.com/intl/zh-cn/about/versions/android-5.0.html -- By N ...
- windows采集音频
1. 定义线程类 线程类比较简单,使用标准c++ 的thread,线程类的Run函数为纯虚函数. /* Author:钱波 email: 418511899@qq.com wei: 180915890 ...
- java动画api_使用MMAPI播放gif动画
MMAPI是在JSR 135中提出的,增强了Java ME平台对多媒体编程的支持.例如播放音频和视频文件,捕获声音和图像等.目前大多数支持JTWI 1.0的手机都支持了MMAPI.本文介绍如何使用MM ...
最新文章
- PHP面试内容 整理搜集 PHP面试涉及技术 一文回顾全部 主要含PHP面试命令列表 方法列表...
- html代码转换成为纯文本
- CSDN 文章标题含非法字符
- 信息系统项目管理师:第9章:项目人力资源管理-章节重点
- log4net直切ElasticSearch,小步快跑首选
- 数据结构之树:树的介绍——9
- js迭代器实现斐波那契数列
- MailMail正式发布!注册码免费发放活动开启!(已结束~~不要再回复咧~)
- Sqoop增量抽取Oracle数据,最近8个小时的数据未被抽取
- Hibernate原生SQL查询
- Android自定义控件(四)——让每一个Activity UI都具有弹性
- vue base64加密对象_想加密JavaScript怎么办,试试这款加密库!
- powerdesigner与mysql_powerdesigner、mysql
- Inflate使用小结
- matlab输出曲线颜色设置,matlab曲线颜色样式设置
- 【毕业设计】基于单片机的红外测距系统设计与实现 - c51 物联网 stm32
- 单片机入门——单片机的基本构成及工作原理(1)
- 依托抖音、快手直播的上架工具开发
- 产品不良率计算公式--如PPM,DPPM,DPMO等
- 微信+阿里支付流程详解