您的位置 首页 java

Java-示例非常简单的播放器(JMF)

每天‬分享‬最新‬软件‬开发‬,Devops,敏捷‬,测试‬以及‬项目‬管理‬最新‬,最热门‬的‬文章‬,每天‬花‬3分钟‬学习‬何乐而不为‬,希望‬大家‬点赞‬,加‬关注‬,你的‬支持‬是我‬最大‬的‬动力‬。

如果您想知道什么是 JMF 播放器,那么您就找对地方了。我们已经注意到,许多有抱负的开发人员想要尝试它,但不确定它是如何工作的。因此,我们决定把这个指南放在一起,使事情对你来说更容易一点。

 package org.jmf.example;

import  Java x.swing.JDialog;
import javax.swing. JFrame ;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeel Exception ;
import javax.swing.plaf.metal.MetalLookAndFeel;

public class ExampleJMF
{
public  static   void  main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true); 
JDialog.setDefaultLookAndFeelDecorated(true);

try
{
UIManager.setLookAndFeel(new MetalLookAndFeel());
}
catch(UnsupportedLookAndFeelException e)
{
e.printStackTrace();
}

new exampleFrame();
}
}  

但在我们深入讨论之前,让我们回答这个关键问题:

Java 是什么?

Java 是一种高级语言, 程序员 用它来开发几乎不依赖于实现的项目。

Java 在许多方面改变了网络。我们今天使用的绝大多数在线工具都是基于 Java 构建的。这包括网站移动应用程序和多媒体播放平台。这种编程语言已经取得了长足的进步。今年距离 詹姆斯 · 高斯林 发明它已经过去了27年。

什么是 Java 媒体框架

JMF 是一个 API,使您能够播放、处理和捕获媒体音频和视频。无论您想要传输或接收直播媒体广播和进行视频会议,您可以很容易地做到这一点感谢这个 API。多亏了 JMF 的 RTP 实时传输协议。

JMF 是一个简单的播放器,它封装了您的多媒体组件,并允许您控制您的播放器。它还提供了一些方法,使您能够获取必要的资源并查询当前状态。

这些是您将用来构建页对象的工具。例如,如果您想扫描页面并创建一个类。

以下是 Java 媒体框架的功能:

多功能工具

JMF 非常方便,特别是如果您正在寻找能够扫描页面并构建类的工具。您还可以使用它来创建原型代码,然后构建健壮的应用程序。

工具化

关于可观测性这个主题,您读到的很多内容都提到了分析数据的好处和潜力,但是很少提到如何收集数据。这个过程被称为“检测”,广泛地涉及收集基础设施和代码中的事件,其中包括度量、日志和跟踪。

当然,有许多方法、框架和工具可以帮助您收集对您来说重要的事件,本文将从其中的一些事件开始一系列的讨论。这篇文章的重点是介绍概念,设置所需的依赖关系,并生成一些基本的度量。后面的文章将进一步阐述这些概念。

度量数据导论

不同的供应商和开源项目创建了自己的方式来表示他们收集的事件数据。尽管情况仍然如此,但人们正在加大努力,创建人人都可以使用的可移植标准,并在此基础上增加其特性,同时保持互操作性。这个关键项目是来自云计算基金会(CNCF)的 Open遥测技术。这个博客系列将使用 OpenTelemery 规范和 SDK,但是收集和导出它处理的各种格式。

应用示例

这篇文章的例子是一个 ExpressJS 应用程序,它服务于 API 端点并导出与 Prometheus 兼容的指标。本教程首先向 Prometheus 后端添加基本的检测和发送指标,然后添加更多内容,并添加 ChronSphere 收集器。您可以在 GitHub 上找到完整的最终代码。

安装和设置 ExpressJS

ExpressJS 为创建服务于 HTTP 端点的 JavaScript 应用程序提供了很多样板,因此它是一个很好的起点。按照安装步骤将其添加到新项目中。

捕获媒体流

JMF 不仅允许播放音乐,而且还可以使用它捕获媒体内容。所有这些都将发生在你处理和捕获它从一个源到一个目的地的过程中。

然后,您将根据内容格式标识每个媒体流。从那里,JMF 将显示特定视频流的内容。每个媒体流将至少有一个或多个可以播放的曲目。

根据位置识别每个媒体流

您可以使用统一资源定位符(URL)或媒体定位符来标识媒体流。

你如何定位它们并不重要,重要的是你不必费力去识别每一个媒体流。

处理时间基准和时钟

您还可以播放基于时间的媒体,或者在准确的时间捕获它们。为此,JMF 需要时基和时钟。因此,如果不完全了解时间基准和时钟,就无法使用 JMF。

同时,使用下面的代码

1. 删除未使用的表

通常,当您删除或停用一个插件时,所有的数据库表都会保留。这可能是一件好事,因为您可以保留所有用户信息、首选项和其他数据。然而,在大多数情况下,留给您的是一个笨重的数据集,这可能会降低服务器的性能。

如果你正在使用 WordPress ,你可以通过安装一个叫做 Plugins 垃圾收集器的插件来处理剩余的表格。它会扫描数据库中任何未使用的表,您可以删除那些您知道不需要的表。更实用的方法是使用 UPDATE _ TIME 字符串查找非活动表。

2. 制定执行计划

执行计划的主要目标是在创建查询时通过包含操作的类型和顺序来显示检索数据的各种方法。如果您不熟悉执行计划,这里有一个视频介绍基础知识。

典型的执行计划包括:

  • Types of operations
  • Order of operations
  • Indexes to use
  • Row count estimates from stats
  • Row count actual from results

3. 使用适当的 索引

索引允许更快地访问数据库并加快查询速度。如果您根本不使用索引,那么处理查询就会变得非常缓慢。然而,过度索引数据库也是无效的。

不幸的是,没有一个正确优化数据库的黄金法则。但是,通过一些尝试和错误,您的数据库可以从索引系统中获益。

4. 避免 编码 循环

SQL 查询如果运行不止一次,则效率低下,并可能导致不必要的性能问题,这些问题会迅速堆积起来,特别是对于大型数据集。实际上,将查询移出循环,目标是只执行一次,这才是正确的做法。

有几个巧妙的解决方案可以实现这一点。

使用 JOIN 和 GROUPBY 从多个表中选择数据,并让数据库使用单个查询执行计数。这对于多个查询(包括 COUNT 和 MAX 子句)特别有效。

5. 删除相关子查询

相关的 子查询 本质上是编码循环。子查询逐行运行,直到满足父语句为止。当结果依赖于多部分答案验证时,这种处理方法是有用的。

可以通过使用 JOIN 子句避免相关的子查询,从而提高查询的运行效率。本质上,这个方法取代了 WHERE,并且消除了为每一行分开执行子查询的必要性

6. 避免查询

每个查询的最终目标都是检索相关数据以获得最大的效率。但是,在创建查询时使用 SELECT * 子句会导致不必要的数据,这种情况相对比较常见。虽然它在小型数据集的性能方面没有起到很大的作用,但是在大型数据集方面却会留下很大的缺陷。

节省地选择数据有助于优化查询速度并减少资源使用。

解决这个问题的一个快速方法是使用 LIMIT 子句而不是 SELECT * 。这样,您可以限制查询结果的输出,除非您确实需要查询检索整个数据集。

文章来源:智云一二三科技

文章标题:Java-示例非常简单的播放器(JMF)

文章地址:https://www.zhihuclub.com/184683.shtml

关于作者: 智云科技

热门文章

网站地图