0 0

怎么在页面中播放视频?0

怎么在页面中播放视频?

我想在jsp页面中播放摄像机的实时视频。

播放摄像机的视频需要调用摄像机提供的SDK。 SDK可能C写的。

对于web播放视频,现在了解到2种方式,不知道对不对

1 用ActiveX控件 存在以下问题
(1)浏览器兼容问题,ActiveX控件只能在IE中使用?
(2)如果用ActiveX,需要自己用MFC或者.NET开发一个专门播放视频的控件? 编程语言也是个问题

2 flash player
(1)因为播放视频要调用厂家SDK,是不是要用flex写一个 页面或者 swf什么的,如果用flash,

前端flex调用后台java,java再通过JNI调用SDK? 这个思路对么?

(2) flash player本身作为一个线程的控件,在播放视频的开发里有没有方便的地方?



要在页面上播放视频,思路,流程是什么?
2012年9月06日 19:20

1个答案 按时间排序 按投票排序

0 0

1.利用JMF,需下载相应的JMF jar包:

import java.awt.*;   
import java.awt.event.*;   
import java.io.*;   
import java.net.*;   
import javax.swing.*;   
import javax.media.*;   
  
// 视频播放程序   
  
public class VideoPlayDemo extends JFrame {   
  
 private Player player; // 播放器对象   
 private Component visualMedia; // 视频显示组件   
 private Component mediaControl; // 视频播放控制组件   
 private Container container; // 主容器   
 private File mediaFile; //媒体文件   
 private URL fileURL; //媒体文件URL地址   
  
 public VideoPlayDemo() { // 构造函数   
     super("视频播放程序"); //调用父类构造函数   
  
      container = getContentPane(); //得到窗口容器   
      JToolBar toobar = new JToolBar(); //实例化工具栏   
      JButton openFile = new JButton("打开媒体文件"); //实例化按钮   
      toobar.add(openFile); //增加按钮到工具栏   
      JButton openURL = new JButton("打开网络地址");   
      toobar.add(openURL);   
      container.add(toobar, BorderLayout.NORTH); //设置工具栏   
      
      openFile.addActionListener(new ActionListener() { //打开文件按钮事件处理   
           public void actionPerformed(ActionEvent event) {   
                JFileChooser fileChooser = new JFileChooser(); //实例化文件选择器   
                fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件打开模式为仅打开文件       
                int result = fileChooser.showOpenDialog(VideoPlayDemo.this);//显示对话框       
                if (result == JFileChooser.APPROVE_OPTION) { //得到用户行为   
                    mediaFile = fileChooser.getSelectedFile(); //得到选择的文件   
                }   
                if (mediaFile != null) {   
                    try {   
                        fileURL = mediaFile.toURL(); //得到文件的URL地址   
                    } catch (MalformedURLException ex) {   
                          ex.printStackTrace(); //输出错误信息   
                          showMessage("打开错误"); //显示错误信息   
                    }   
                    startPlayer(fileURL.toString()); //开始播放打开的文件   
                }   
           }   
      });   
      
      openURL.addActionListener(new ActionListener() { //打开URL按钮事件处理   
       public void actionPerformed(ActionEvent event) {   
        String addressName =JOptionPane.showInputDialog(VideoPlayDemo.this, "输入URL地址");   
        if (addressName != null)   
         startPlayer(addressName); //开始播放打开的URL   
       }   
      });   
  
      Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, Boolean.TRUE);   
      
      setSize(300, 200); //设置窗口大小   
      setVisible(true); //设置窗口为可视   
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序   
 }   
 
 //初始化播放器   
 public void startPlayer(String mediaLocation) {   
  if (player != null)   
   //如果播放器非空则移去先前的播放器组件   
   if (visualMedia != null)   
    container.remove(visualMedia); //如果对象visualMedia非空则移去   
  if (mediaControl != null) {   
   container.remove(mediaControl); //如果对象mediaControl非空则移去   
   player.close(); //关闭播放器   
  }   
  MediaLocator mediaLocator = new MediaLocator(mediaLocation); //媒体定位器   
  if (mediaLocator == null) {   
   showMessage("打开文件错误"); //显示错误信息   
   return;   
  }   
  try {   
   player = Manager.createPlayer(mediaLocator); //得到播放器实例   
   player.addControllerListener(new PlayerEventHandler()); //增加播放控制器   
   player.realize();   
  } catch (Exception ex) {   
   ex.printStackTrace();   
   showMessage("打开错误"); //显示错误信息   
  }   
  
 }   
 
 
 //取得媒体组件   
 public void getMediaComponents() {   
  visualMedia = player.getVisualComponent(); //取得视频显示组件   
  
  //如果对象visualMedia非空则加入到窗口内容窗格   
  if (visualMedia != null) {   
   container.add(visualMedia, BorderLayout.CENTER);   
   pack();   
  }   
  
  mediaControl = player.getControlPanelComponent(); //取得播放控制组件   
  
  //如果对象visualMedia非空则加入到窗口内容窗格   
  if (mediaControl != null)   
   container.add(mediaControl, BorderLayout.SOUTH);   
  
 }   
  
 //播放器事件处理   
 private class PlayerEventHandler extends ControllerAdapter {   
  
      public void realizeComplete(RealizeCompleteEvent realizeDoneEvent) {   
       player.prefetch(); //预取媒体数据   
      }   
      
      //完成预取媒体数据后,开始播放媒体   
      public void prefetchComplete(PrefetchCompleteEvent prefetchDoneEvent) {   
       getMediaComponents();   
       validate();   
       player.start(); //开始播放媒体   
      }   
      
      //如果媒体播放完毕,重新设置媒体时间并停止媒体播放器   
      public void endOfMedia(EndOfMediaEvent mediaEndEvent) {   
       player.setMediaTime(new Time(0)); //重新设置媒体时间   
       player.stop(); // 停止媒体播放   
      }   
 }   
    
 public void showMessage(String s) {   
  JOptionPane.showMessageDialog(this, s); //显示提示信息   
 }   
  
 public static void main(String args[]) {   
  new VideoPlayDemo();   
 }   
  
}  

http://zhangjunhd.blog.51cto.com/113473/25474

2.在线视频播放器FlowPlayer :
http://www.oschina.net/p/flowplayer

3.Flash视频播放器JW Player : http://www.oschina.net/p/jw+flv+media+player

4.微软媒体播放器 JW WMV PLAYER http://www.oschina.net/p/jw+wmv+player

等等。。。。。。。

2012年9月07日 08:55

相关推荐

    如何在JSP页面在线播放视频

    在JSP(JavaServer Pages)页面中实现在线播放视频,主要涉及到HTML5的视频标签、JavaScript的交互控制以及可能的服务器端处理。本教程将详细讲解如何在JSP页面上集成视频播放功能。 首先,我们需要了解HTML5的`...

    jQuery仿淘宝商品播放视频页面滚动悬浮视频播放效果

    本项目“jQuery仿淘宝商品播放视频页面滚动悬浮视频播放效果”是针对网页动态效果的一个实例,主要目标是实现类似淘宝商品详情页的视频播放功能,当用户在浏览页面时,即使页面滚动,视频依然悬浮在屏幕上持续播放,...

    android长时间不操作,定时播放视频

    在Android开发中,实现"android长时间不操作,定时播放视频"这一功能,涉及到多个关键知识点。首先,我们需要理解用户交互的检测,然后是视频播放器的使用,以及如何设置定时任务来实现循环播放。以下是对这些核心...

    Edge浏览器怎么设置后台停止播放视频?.docx

    本文将详细阐述如何在Microsoft Edge浏览器中设置当浏览器处于后台时自动停止播放视频的功能,以帮助用户提升电脑性能和节省网络资源。 首先,打开Edge浏览器。在这个过程中,用户可以在浏览器右上角发现三个并排的...

    .NET+Cuplayer实现aspx页面播放视频

    在".net页面播放视频"的场景下,Cuplayer控件扮演了关键角色。它可能是通过JavaScript或者ActiveX技术在客户端运行,或者是在服务器端处理视频流并传递给客户端。如果是JavaScript,那么Cuplayer可能是基于HTML5的...

    Easyplayer实现H5页面无插件播放视频,动态实时生成封面。

    首先,`Easyplayer`的核心功能是在H5页面上播放视频。它基于HTML5的`<video>`标签,利用现代浏览器对HTML5视频的支持,可以跨平台地在不同设备上播放视频。这意味着开发者无需担心用户是否安装了特定的浏览器插件,...

    在asp.net页面中插入视频播放器

    ### 在ASP.NET页面中插入视频播放器:详细指南与实现步骤 #### 一、概述 在Web开发中,向用户展示视频内容是非常常见的需求之一。ASP.NET作为一种流行的Web开发框架,支持多种方式来实现在页面中插入视频播放器。...

    Qt加载html 播放视频

    本篇将深入探讨如何在Qt中利用QBrowser加载HTML来播放视频,并涉及与Flash的相关内容。 首先,理解Qt中的QWebView(在Qt5中被QWebEngineView取代)或QBrowser类。这两个类允许开发者在Qt应用程序中展示网页内容,...

    点击图片播放视频

    例如,它可能指导用户如何获取YouTube视频的嵌入代码,如何将该代码插入到HTML中,以及如何编写JavaScript来实现点击图片播放视频的逻辑。 总的来说,实现“点击图片播放视频”的功能涉及HTML的结构设计、...

    Android WebView播放视频(包括全屏播放)

    本文将详细讲解如何在Android的WebView中播放视频,包括全屏播放的实现方法。以下是对该主题的深入探讨: 1. **WebView基础知识**: - WebView是Android SDK提供的一种原生控件,用于加载和显示HTML、CSS和...

    dplayer多视频列表播放

    【标题】"dplayer多视频...综合以上信息,我们可以理解这个项目是一个基于DPlayer的多视频播放解决方案,具备自定义初始播放视频、自动轮播和用户选择播放等功能,并且提供了一个单机服务工具来支持本地开发和测试。

    html页面播放mp4视频

    在上述代码中,`width`和`height`属性定义了视频播放器的宽度和高度,`controls`属性添加了默认的播放、暂停、音量等控件。`<source>`标签用于指定视频源,`src`属性指向MP4视频文件的位置,`type`属性指定了视频的...

    基于Gin + WebSocket + JSMpeg,在HTML页面上直接播放RTSP视频流

    将客户端需要播放的RTSP地址转换为一个对应的WebSocket地址,客户端通过这个WebSocket地址便可以直接播放视频,为了及时释放不再观看的视频流,这里设计为客户端播放时需要在每隔60秒的时间里循环请求这个接口,超过...

    CefSharp v79.1.36 支持播放视频,Winform亲测可用

    CefSharp v79.1.36的发布,意味着开发者现在可以在Winform应用中利用HTML5的视频标签来播放视频,这对于构建富媒体应用或者需要在线视频功能的桌面应用来说,是一个巨大的进步。HTML5的`<video>`元素允许直接在网页...

    js+css点击视频在弹出的小窗口中播放

    这种设计可以提供更好的用户体验,让用户在不离开当前页面的情况下观看视频。下面我们将详细探讨如何利用JavaScript(js)和Cascading Style Sheets(CSS)来实现这一效果。 首先,我们需要一个HTML结构来承载视频...

    CefSharp播放视频及全屏DEMO.zip

    【CefSharp播放视频及全屏DEMO.zip】是一个基于CefSharp库的示例项目,主要用于演示如何在Windows应用程序中实现视频播放以及全屏和退出全屏功能。CefSharp是一个开源的.NET框架,它封装了Chromium Embedded ...

    微信小程序上实现滚动播放等视频相关的效果

    通过分析和学习这个示例项目,你可以更深入地理解如何在微信小程序中实现滚动播放视频。 总结,实现微信小程序上的滚动播放视频效果,需要结合`<video>`组件、滚动事件监听、动态控制播放状态以及性能优化策略。...

    VideoPlayer解决H5在微信中播放视频弹窗问题的插件

    总的来说,`VideoPlayer` 是一个针对H5在微信中播放视频问题的有效解决方案,它通过自定义播放器和优化用户体验,使得在微信内的视频播放变得更加流畅和可控。通过熟练掌握和应用这个插件,开发者可以提高H5项目的...

    页面视频播放控件-java

    在Java开发中,创建一个页面视频播放控件是一项常见的任务,尤其在构建Web应用程序时。这个主题涉及到几个关键知识点,包括HTML5视频播放、JavaScript交互、以及可能的Java后端支持。下面我们将深入探讨这些方面。 ...

    webview播放视频代码

    这里的`index.html`是存储在应用的`assets`目录下的HTML文件,内容中包含了一个视频元素,用于播放视频。 ```html <video id="myVideo" src="video.mp4" controls></video> ``` 在HTML5中,`<video>`标签用于添加...

Global site tag (gtag.js) - Google Analytics