科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件技术交流:QuickTime流媒体和Java(图)

技术交流:QuickTime流媒体和Java(图)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

QuickTime的流媒体API,在Java中由只可在Mac OS(Classic和OS X)中运行的包quicktime.streaming声明。在QTJ中存在Windows版本的类,但是它们却不能工作。

作者:builder.com.cn 2007年8月24日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
配置Presentation
  
  SettingsDialog sd = new SettingsDialog (pres);
  System.out.println ("Did settings");
  pres.preroll();
  broadcasting = false;
  
  这是设置presentation最后的步骤。 SettingsDialog存在用户以输入装置选择的音频和视频 (二个流媒体SDP 文件被指定在Presentation中) 。每个流媒体都可由一个压缩格式来定制 (MPEG-4, Sorenson Video 3, H.263, 等) 以及一个分包器(有时由压缩格式定义; 可观察它是否随着压缩格式的改变而自动改变) 。 这个GUI实例显示在图1 。
  
 
  图像1. 为一个Presentation SettingsDialog

  
  在此图中, 音频默认为计算机连线输入。更改它为iSight, 您需要点击Source按钮,提出的可选设备列表显示在图2上 。
  
 
  图2. 来源选择对话框

  
  最后就是调用Presentation.preroll(), 如同Movie.preroll(), 提供Presentation一个机会预先分配资源以及准备好开始流媒体Presentation。
  
  提供一个控制GUI
  
  // Make monitor window
  startStopButton = new Button ("Start");
  configButton = new Button ("Configure");
  startStopButton.addActionListener (this);
  configButton.addActionListener (this);
  Frame monitorFrame = new Frame ("QTJ Streaming");
  monitorFrame.setLayout (new BorderLayout());
  Panel buttonPanel = new Panel();
  buttonPanel.add (startStopButton);
  buttonPanel.add (configButton);
  monitorFrame.add (buttonPanel, BorderLayout.SOUTH);
  monitorFrame.pack();
  monitorFrame.setVisible(true);
  
  这个为控制和配置Presentation设置了很小的GUI,提供基本的一个起始/停止键和一个配置按钮。 按钮作为一个ActionListener提交给this, 意味着这个类将需要提供一个actionPerformed方法来处理按钮点击。 控制GUI 的屏幕截图显示在图3 。
  
 
  图3. 监控/控制窗体

  
  在这点上你也许会问一个有趣的问题: "从什么时候我们开始关心使用GUI提供server?"据推测, 这是从Classic Mac OS开始的一个传统, 它没有一个用命令行启动和传递参数的程序。但此外, 你通常会希望提供一个流媒体数据的预览, 并且如果您有一个预览视窗, 为什么会也没有一个配置的GUI?
  
  无论如何, 这是大概的讨论, 因为QTJ 6.1 不提供您能使用来预览的一个AWT Component。在有些方面有希望的是, QTFactory将得到一个新的超负荷为采用一个Presentation并且返回一个显示流媒体视频的Component的makeQTComponent。 它大概可能使用一些QuickDraw voodoo而完全放弃Java的东西。 如果,在各task()中回调(参见下面) 您采取GWorld被及早创建, 转换它成Pict, 并且作为一份唯一命名的文件, 您会看见每一个都是不同的, 意味GWorld每次都得到新数据。 所以如果您替换掉GWorld, 改为能给AWT Component在各通道上定义象素, 您会有银幕上的预览。何人有胆量如此做? 在quicktime-java list上查看。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章