`
郭广川
  • 浏览: 68810 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

JMF的音视频同步播放

    博客分类:
  • JMF
 
阅读更多

关于同步播放:

如果音视频单独进行播放,两个播放器很难保持统一并进行开始和停止。 JMF针对上述问题,Player通过调用addController方法,使两个Player结合起来,并设当前Player为终极的控制端。从属Player隶属于终极Player之下,终极Player所调用的方法同时也会在从属Player上调用。只有在两个Player都进入各自的完成状态,主控Player才抛出CompleteEvent事件。

实现过程如下:

 

创建音频视频Player
两个Player能够耦合要求两个Player都必须为Realized状态。通过Manager的createRealizedPlayer方法创建已经到达Realized状态态的Player,之后再通过您所要设定的终极Player的addController方法添加另一个player为附属player就可以实现两个player的整合

 

//创建媒体定位

MediaLocator mediaLocatorAudio = new MediaLocator(mediaLocationAudio); 
MediaLocator mediaLocatorVedio = new MediaLocator(mediaLocationVedio);
//创建Player 
playerAudio= Manager.createRealizedPlayer(mediaLocatorAudio ); 
 playerVedio = Manager.createRealizedPlayer(mediaLocatorVedio );
//进行整合

playerAudio.addController(playerVedio);

 

 添加音频视频组件
在选则主控Player时,要把音频源对应的Player作为终极Player,因为在得到控制面板的时候得不到音频的控制面板

//得到视频显示面板

visualMedia = playerVedio.getVisualComponent();
if (visualMedia != null)

//添加到上层容器的中间位置
add(visualMedia, BorderLayout.CENTER);
// 得到终极player的控制面板组件
mediaControl = playerAudio.getControlPanelComponent();
// 如果mediaControl 存在则将其加入到容器南部
if (mediaControl != null)
container.add(mediaControl, BorderLayout.SOUTH);

//进行界面更新
validate();

 

进行音频视频播放:
两个Player整合后,播放器只能对终极Player进行操纵。终极Player能够使从属Player调用相应的方法。
playerAudio.start();

小提示:

而当多媒体数据进行RTP流式传输时,音频和视频往往是采用不同的端口号在不同的的会话中传输,这样在接收端就存在音频视频播放不同步问题,可利用上述方法进行解决。

分享到:
评论
1 楼 hpf_888 2013-01-19  
顶一个,博主JMF玩的很熟啊

相关推荐

    基于JMF的音视频同步播放

    ### 基于JMF的音视频同步播放技术解析 #### 引言 随着多媒体技术的飞速发展,音视频的同步播放成为了诸多应用领域的关键需求。Java Media Framework(JMF),作为Sun Microsystems(现Oracle)推出的一款强大的...

    jmf音视频传输

    处理器用于处理和转换媒体数据,比如格式转换、音视频同步等。它还可以用于将数据发送到特定的数据目标,如保存到文件或网络流。 7. **管理器(Manager)**: 管理器是JMF中的控制中心,它负责创建、配置和控制...

    基于JMF的音视频聊天程序源代码(附论文)

    【标题】: "基于JMF的音视频聊天程序源代码(附论文)" 在这个项目中,我们关注的是一个使用Java Media Framework (JMF) 开发的音视频聊天应用程序的源代码。JMF 是一个开源的Java平台框架,专门用于处理多媒体数据...

    JMF-RTP.rar_jmf_rtp java_rtp 语音视频_视频传输_视频语音

    Java Media Framework (JMF) 和 Real-time Transport Protocol (RTP) 是在开发音视频应用程序时常用的两个技术。本文将深入探讨这两个技术以及如何在Java环境中结合它们实现语音和视频的传输。 **Java Media ...

    JMF的音视频聊天程序源代码附论文

    3. **音视频同步**:在音视频聊天程序中,JMF提供了一种机制来保证音频和视频流的同步,确保用户在聊天过程中获得流畅、无延迟的体验。 4. **网络传输**:JMF可以处理实时传输协议(RTP)和实时控制协议(RTCP),...

    JMF的音视频实时交互及存储的具体实现

    4. 时序控制:JMF允许对录制的音视频进行精确的时间控制,如快进、快退、暂停和播放等。 五、实际应用案例 1. 视频监控:JMF可用于实时监控系统的音视频数据传输和存储。 2. 远程教育:在线教学平台可以利用JMF实现...

    基于JMF的音视频聊天论文

    【基于JMF的音视频聊天系统】 随着网络技术的飞速发展,音视频通信在网络上的应用日益普及,成为研究和开发的重要领域。JMF(Java Media Framework)是Java平台提供的一种可选API,用于处理音频、视频等多媒体内容...

    JMF视频音频通信源码

    8. **Synchronization**:在多路音视频同步播放时,确保音频与视频之间的同步是非常重要的,JMF提供了一些机制来处理这个问题。 在源码中,可能会包含以下部分: - **初始化和注册**:初始化JMF框架,注册捕获设备...

    基于JMF的音视频实时交互及存储的具体实现

    数据克隆技术允许数据在多个设备或软件之间进行复制,确保了音视频数据能够在发送方和接收方之间实时同步。而数据轨道控制则提供了对音视频流的精细控制,包括播放、暂停、快进、快退等功能,增强了用户体验,使得...

    java 通过jmf播放视频简单demo

    Java Media Framework (JMF) 是Java平台上的一个多媒体处理框架,它允许开发者处理音频、视频和其他时间同步的数据。在这个“java 通过jmf播放视频简单demo”中,我们将探讨如何利用JMF在Java应用程序中实现视频播放...

    jmf实现流媒体播放

    4. **同步控制**:保持音频和视频的同步。 ##### 2.2 流式传输的过程 流式传输的过程可以概括为以下几个阶段: 1. **建立连接**:客户端与服务器之间建立连接。 2. **请求数据**:客户端请求媒体数据。 3. **数据...

    jmf rtp 视频音频传输聊天

    JMF 是由 Sun Microsystems 开发的一个开源框架,用于处理、播放和捕获多种媒体类型,包括音频、视频和流媒体。它为 Java 应用程序提供了一个统一的接口来处理多媒体数据,简化了多媒体应用的开发过程。 1. **组件...

    基于JMF的语音聊天系统

    首先,我们要理解Java Media Framework (JMF) 是一个用于处理音频、视频和其它媒体的开源框架。JMF提供了一套完整的API,使得开发者能够轻松地在Java应用程序中集成多媒体处理功能,如录音、播放、流传输等。在语音...

    zzlg 多媒体音乐播放器 java通过调用jmf 实现的音乐播放 歌词同步歌曲搜索 截屏等功能

    总的来说,ZZLG多媒体音乐播放器利用了Java的强大功能,结合JMF实现了音频播放,通过歌词同步增强了用户体验,同时提供了便捷的歌曲搜索和截图工具,使它成为一个全面且功能丰富的音乐播放解决方案。开发者在设计和...

    JMF 网络视频捕获与存储系统 客户端加服务器端源码

    3. **音视频同步**:确保音频和视频的播放保持同步。 4. **界面交互**:提供用户友好的界面,如播放进度条、音量控制等。 总结来说,这个JMF网络视频捕获与存储系统涵盖了多媒体数据的捕获、编码、传输、解码、存储...

    JMF实现实时视频语音的发布和接收

    4. **同步处理**:确保视频和音频的播放是同步的,因为它们可能会在网络传输过程中出现延迟。 为了实现清晰的视频质量和流畅的语音效果,开发者可能还需要考虑以下优化策略: - **错误恢复机制**:在网络丢包或不...

    JMF视频传输

    JMF利用RTP和RTCP进行网络视频传输,允许开发者创建能够捕获、播放、处理和传输多媒体内容的Java应用程序。通过集成RTP/RTCP,JMF可以实现实时的、高质量的网络视频传输,尤其适合在线教育、远程协作和多媒体内容...

    jmf.rar_jmf_语音通信java

    Java Media Framework(JMF)是Java平台上的多媒体处理框架,它提供了音频、视频的播放、捕获、处理和传输等功能。在语音通信项目中,JMF扮演了关键角色,负责音频数据的编码、解码以及网络传输。 1. **JMF基础**:...

    java的JMF播放音乐示例

    Java Media Framework (JMF) 是Java平台上的一个多媒体处理框架,它允许开发者处理音频、视频和其他时间同步的数据流。在“java的JMF播放音乐示例”中,我们看到一个应用,该应用能够搜索E盘中的所有MP3文件并提供...

Global site tag (gtag.js) - Google Analytics