jmf的软件下载可以快速下载

weixin_39821746 2019-07-19 01:00:20
java的jmf软件需要,是多媒体播放器的必备要求
相关下载链接://download.csdn.net/download/qq277827899/3418800?utm_source=bbsseo
...全文
4 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Java术语,意为Java媒体框架(JMF)。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。 JMF实际上是Java的一个类包。JMF 2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支 持,如M-JPEG、H.263、MP3、RTP/RTSP (实时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。 Sun以四种不同的专用版本提供JMF 2.1.1技术,满足专业开发人员的各类需求,第一个是一个轻便型版本,它完全采用Java语言编写,适用于任何Java兼容系统。此外,开发人员还可选 择分别适用于Solaris、Windows或Linux等操作系统的性能最优化软件包,以提高性能和能力。 JMF 2.1.1软件也是Java Media系列软件的一部分。Java Media系列软件包括Java 3D、Java 2D、Java Sound和Java Advanced Imaging等API。采用各种Java Media API,软件开发商人员就能容易、快速地为他们已有的各种应用程序和客户端Java小程序增添丰富的媒体功能,如流式视频、3D图像和影像处理等。就是 说,各种Java Media API发挥了Java平台的固有优势,将"编写一次,到处运行"的能力扩展到了图像、影像和数字媒体等各种应用领域,从而大大缩减了开发时间和降低了开发 成本。
Java课程设计报告 题目:java音乐播放器 "姓 名 " " "学 号 " " "院 系 " " "班 级 " " "专 业 " " "任课教师 " " 1.设计内容及要求 可以实现简单的音乐播放器功能,如:翻开本地文件,播放,暂停,停顿 ,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放 列表,文件菜单包含翻开、循环和退出三个菜单项;播放控制菜单包含播放、暂 停和停顿三个菜单项,播放列表菜单那么是当向里面添加歌曲之后才可以查看到 里面所包含的歌曲目录。当播放歌曲时,可以调节音量大小或者设置是否静音; 可以查看当前播放音乐的相关属性,如:歌曲名,歌手,发布时间,所属专辑等 等。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进展追踪,用户可以随时理解 歌曲的播放进度 2、音量控制键:可以点击该控键进展音量大小的调节以及是否静音的设置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获取关于该歌 曲的用户所需的相关信息。 4、菜单栏: 文件: 翻开:用户通过该菜单项翻开本地音乐文件,听任何用户想听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序 播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播 放音乐 暂停:暂停当前正在播放的音乐 停顿:停顿当前正在播放的音乐 播放列表:当用户通过文件翻开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了 三个简单的实现根本操作的菜单,分别是:文件,播放控制,播放列表;根据详 细的操作每个菜单还包含了相应的菜单项,文件:翻开,循环,退出;播放控制 :播放,暂停,停顿;播放列表那么没有菜单项,该菜单就是用来显示或者查看 相应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时翻开的初始化欢迎界面,用户 可以根据自己的需求进展菜单栏里面的根本操作和相应的设置,当用户添加或者 翻开音乐播放文件的时候,程序将会显示出第二个音乐文件播放窗口,与此同时 ,第一个初始化窗口将会自动隐藏,在音乐播放窗口里面用户可以进展相关的音 乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴 :可以实现播放的前进、后退功能,根据用户需求调节音乐的播放进度等;音量 控制:设置静音,翻开扬声器或者调节音量大小;播放列表:查看当前播放音乐 的相关属性。 4.主要功能设计流程 5.系统实现及测试: 〔一〕JMF〔java媒体框架〕简介 JMF 即Java媒体框架。其核心框架支持不同媒体,如音频输出和视频输出,包括时间的时钟 同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。   JMF实际上是Java的一个类包。它包括了一个开放的媒体架构,可使开发人员灵敏采 用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。   JMF软件是Java Media系列软件的一部分。采用各种Java Media API,软件开发商人员就能容易、快速地为他们已有的各种应用程序和客户端,Java小程 序增添丰富的媒体功能,如流式视频、3D图像和影像处理等。就是 说,各种Java Media API发挥了Java平台的固有优势,将"编写一次,到处运行"的才能扩展到了图像、影像和 数字媒体等各种应用领域,从而大大缩减了开发时间和降低了开发 本钱。   在开发JMF 应用程序之前要完全理解JMF 的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。首先用摄像机拍摄内容 ,拍摄下来的内容录制在DV带中。DV带可以放在放像机里播放、放像机提供视频信号给 电视机,提供音频信号给音箱,这样我们就可以在电视机上看到画面,从音箱里听到声 音。JMF API 提供的也是同样的模型。   JMF 提供的模型可大致分为七类   * 数据源〔Data source〕   * 截取设备〔Capture Device,包括视频和音频截取设备〕   * 播放器〔Player〕   * 处理器〔Processor〕   * 数据池〔DataSink〕   * 数据格式〔Format〕   * 管理器〔Manager〕   假设只是想观看捕获的内容,只需要使用捕获数据源创立播放器Player即可。假设 想把捕获的数据发送到网络或者保存起来,就需要创立处理器Processor。   根本步骤是首先获取视频、音频捕获设备的信息,然后再根据获得的设备信息确定 设备的位置。找到设备的位置以后,调用ManageCreatePlayer方法创立Player,当Pla
Java课程设计报告 题目:java音乐播放器 1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止 ,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放 列表,文件菜单包含打开、循环和退出三个菜单项;播放控制菜单包含播放、暂 停和停止三个菜单项,播放列表菜单则是当向里面添加歌曲之后才能够查看到里 面所包含的歌曲目录。当播放歌曲时,可以调节音量大小或者设置是否静音;可 以查看当前播放音乐的相关属性,如:歌曲名,歌手,发布时间,所属专辑等等 。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以随时了解 歌曲的播放进度 2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获取关于该歌 曲的用户所需的相关信息。 4、菜单栏: 文件: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序 播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播 放音乐 暂停:暂停当前正在播放的音乐 停止:停止当前正在播放的音乐 播放列表:当用户通过文件打开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了 三个简单的实现基本操作的菜单,分别是:文件,播放控制,播放列表;根据具 体的操作每个菜单还包含了相应的菜单项,文件:打开,循环,退出;播放控制 :播放,暂停,停止;播放列表则没有菜单项,该菜单就是用来显示或者查看相 应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户 可以根据自己的需求进行菜单栏里面的基本操作和相应的设置,当用户添加或者 打开音乐播放文件的时候,程序将会显示出第二个音乐文件播放窗口,与此同时 ,第一个初始化窗口将会自动隐藏,在音乐播放窗口里面用户可以进行相关的音 乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴 :可以实现播放的前进、后退功能,根据用户需求调节音乐的播放进度等;音量 控制:设置静音,打开扬声器或者调节音量大小;播放列表:查看当前播放音乐 的相关属性。 4.主要功能设计流程 5.系统实现及测试: (一)JMF(java媒体框架)简介 JMF 即Java媒体框架。其核心框架支持不同媒体,如音频输出和视频输出,包括时间的时钟 同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。   JMF实际上是Java的一个类包。它包括了一个开放的媒体架构,可使开发人员灵活采 用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。   JMF软件是Java Media系列软件的一部分。采用各种Java Media API,软件开发商人员就能容易、快速地为他们已有的各种应用程序和客户端,Java小程 序增添丰富的媒体功能,如流式视频、3D图像和影像处理等。就是 说,各种Java Media API发挥了Java平台的固有优势,将"编写一次,到处运行"的能力扩展到了图像、影像和 数字媒体等各种应用领域,从而大大缩减了开发时间和降低了开发 成本。   在开发JMF 应用程序之前要完全理解JMF 的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。首先用摄像机拍摄内容 ,拍摄下来的内容录制在DV带中。DV带可以放在放像机里播放、放像机提供视频信号给 电视机,提供音频信号给音箱,这样我们就可以在电视机上看到画面,从音箱里听到声 音。JMF API 提供的也是同样的模型。   JMF 提供的模型可大致分为七类   * 数据源(Data source)   * 截取设备(Capture Device,包括视频和音频截取设备)   * 播放器(Player)   * 处理器(Processor)   * 数据池(DataSink)   * 数据格式(Format)   * 管理器(Manager)   如果只是想观看捕获的内容,只需要使用捕获数据源创建播放器Player即可。如果 想把捕获的数据发送到网络或者保存起来,就需要创建处理器Processor。   基本步骤是首先获取视频、音频捕获设备的信息,然后再根据取得的设备信息确定 设备的位置。找到设备的位置以后,调用ManageCreatePlayer方法创建Player,当Playe r开始播放的时候,就开始了捕获的过程。   有多种方法获得捕获设备信息,可以通过查询指定的格式,也可以查询特
dW 登录 | 注册 IBM developerWorks® 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面用电子邮件发送本页面新浪微博人人网腾讯微博搜狐微博网易微博DiggFacebookTwitterDeliciousLinked In developerWorks 中国技术主题Java technology文档库 在 Java 应用程序中访问 USB 设备 介绍 USB、jUSB 和 JSR-80 Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已经成为一些实用应用程序的基础。 1 评论: 蒋清野 (qjiang@ieee.org), 研究科学家, HappyFox Engineering Solutions 2003 年 10 月 25 日 + 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用。 现在就开始免费试用 通用串行总线(Universal Serial Bus USB)规范的第一个版本发表于 1996年 1月。因为它的低成本、高数据传输率、使用容易和灵活性,USB 在计算机行业里获得了广泛接受。今天,许多周边设备和装置都是通过 USB 接口连接到计算机上的。目前,大多数一般用途的操作系统都提供了对 USB 设备的支持,并且用 C 或者 C++ 可以相对容易地开发访问这些外设的应用程序。不过,Java 编程语言在设计上对硬件访问提供的支持很少,所以编写与 USB 设备交互的应用程序是相当困难的。 IBM 的 Dan Streetman 最早开始了在 Java 语言中提供对 USB 设备的访问的努力。2001年,他的项目通过 Java 规范请求(Java Specification Request,JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且指定了官方包 javax.usb 。同时,在 2000年 6月,Mojo Jojo 和 David Brownell 在 SourceForge 开始了 jUSB 项目。这两个项目都开发出了 Linux 开发人员可以使用的包,尽管它们都还很不完善。这两个项目也都开始试图向其他操作系统上的 Java 应用程序提供对 USB 设备的访问,尽管它们都还没有开发出可以使用的包(参阅 参考资料 中有关本文中讨论的这两个项目及其他项目的资料)。 在本文中,将对 jUSB 和 JSR-80 项目作一个简要介绍,不过,我们首先要看一下 USB 协议的具体细节,这样您就可以理解这两个项目是如何与 USB 设备交互的。我们还将提供代码片段以展示如何用这两个项目的 API 访问 USB 设备。 USB 介绍 1994年,一个由四个行业伙伴(Compaq、Intel、Microsoft 和 NEC)组成的联盟开始制定 USB 协议。该协议最初的目的是将 PC 与电话相连并提供容易扩展和重新配置的 I/O 接口。1996年 1月,发表了 USB 规范的第一个版本,1998年 9月发表了后续版本(版本 1.1)。这个规范允许 127台设备同时连接到一起,总的通信带宽限制为 12 Mbps。后来,又有三个成员(Hewlett-Packard、Lucent 和 Philips)加入了这个联盟。2000年 4月,发表了 USB 规范的 2.0版本,它支持高达 480 Mbps 的传输率。今天,USB 在高速(视频、图像、储存)和全速(音频、宽带、麦克风)数据传输应用中起了关键作用。它还使各种低速设备(键盘、鼠标、游戏外设、虚拟现实外设)连接到 PC 上。 USB 协议有严格的层次结构。在所有 USB 系统中,只有一个主设备,到主计算机的的 USB 接口称为 主控器(host controller)。主控器有两个标准――开放主控器接口(Compaq 的 Open Host Controller Interface,OHCI)和通用主控器接口(Intel 的 Universal Host Controller Interface,UHCI)。这两个标准提供了同样的能力,并可用于所有的 USB 设备,UHCI 的硬件实现更简单一些,但是需要更复杂的设备驱动程序(因而 CPU 的负荷更大一些)。 USB 物理互连是分层的星形拓朴,最多有七层。一个 hub 是每个星形的中心,USB 主机被认为是 root hub。每一段连线都是 hub 与 USB 设备的点对点连接,后者可以是为系统提供更多附加点的另一个 hub,也可以是一个提供功能的某种设备。主机使用主/从协议与 USB 设备通信。这种方式解决了包冲突的问题,但是同时也阻止了附加的设备彼此建立直接通信。 所有传输的数据都是由主控器发起的。数据从主机流向设备称为 下行(downstream)或者 输出(out)传输,数据从设备流向主机称为 上 行(upstream)或者 输入(in)传输。数据传输发生在主机和 USB 设备上特定的 端点(endpoint) 之间,主机与端点之间的数据链接称为 管道(pipe)。 一个给定的 USB 设备可以有许多个端点,主机与设备之间数据管道的数量与该设备上端点的数量相同。一个管道可以是单向或者是双向的,一个管道中的数据流与所有其他管道中的数据流无关。 USB 网络中的通信可以使用下面四种数据传输类型中的任意一种: 控制传输:这些是一些短的数据包,用于设备控制和配置,特别是在设备附加到主机上时。 批量传输:这些是数量相对大的数据包。像扫描仪或者 SCSI 适配器这样的设备使用这种传输类型。 中断传输:这些是定期轮询的数据包。主控器会以特定的间隔自动发出一个中断。 等时传输:这些是实时的数据流,它们对带宽的要求高于可靠性要求。音频和视频设备一般使用这种传输类型。 像串行端口一样,计算机上每一个 USB 端口都由 USB 控制器指定了一个惟一的标识数字(端口 ID)。当 USB 设备附加到 USB 端口上时,就将这个 惟一端口 ID 分配给这台设备,并且 USB 控制器会读取 设备描述符。设备描述符包括适用于该设备的全局信息、以及设备的 配置信息。配置定义了一台 USB 设备的功能和 I/O 行为。一台 USB 设备可以有一个或者多个配置,这由它们相应的配置描述符所描述。每一个配置都有一个或者多个 接口,它可以视为一个物理通信渠道 ;每一个接口有零个或者多个端点,它可以是数据提供者或者数据消费者,或者同时具有这两种身份。接口由接口描述符描述,端点由端点描述符描述。并且一台 USB 设备可能还有字符串描述符以提供像厂商名、设备名或者序列号这样的附加信息。 正如您所看到的,像 USB 这样的协议为使用 Java 这种强调平台和硬件无关性的语言的开发人员提出了挑战。现在让我们看两个试图解决这个问题的项目。 回页首 jUSB API jUSB 项目是由 Mojo Jojo 和 David Brownell 于 2000年 6月创立的。其目标是提供一组免费的、在 Linux 平台上访问 USB 设备的 Java API。这个 API 是按照 Lesser GPL (LGPL)条款发表的,这意味着您可以在专有和免费软件项目中使用它。这个 API 提供了对多个物理 USB 设备的多线程访问,并支持本机和远程设备。具有多个接口的设备可以同时被多个应用程序(或者设备驱动程序)所访问,其中每一个应用程序(或者设备驱动程序)都占据一个不同的接口。该 API 支持控制传输、批量传输和中断传输,不支持等时传输,因为等时传输用于媒体数据(如音频和视频),JMF API 已经在其他标准设备驱动程序上对此提供了很好的支持(参阅 参考资料)。当前,该 API 可以在具有 Linux 2.4 核心或者以前的 2.2.18 核心的 GNU/Linux 版本上工作。因此可支持大多数最新的版本,例如,该 API 可以在没有任何补丁或者升级的 Red Hat 7.2 和 9.0 上工作。 jUSB API 包括以下包: usb.core : 这个包是 jUSB API 的核心部分。它使得 Java 应用程序可以从 USB 主机访问 USB 设备。 usb.linux : 这个包包含 usb.core.Host 对象的 Linux 实现、bootstrapping 支持和其他可以提升 Linux USB 支持的类。这个实现通过虚拟 USB 文件系统( usbdevfs )访问 USB 设备。 usb.windows : 这个包包含 usb.core.Host 对象的 Windows 实现、bootstrapping 支持和其他可以提升 Windows USB 支持的类。这个实现仍然处于非常初级的阶段。 usb.remote : 这个包是 usb.core API 的远程版本。它包括一个 RMI proxy 和一个 daemon 应用程序,它让 Java 应用程序可以访问远程计算机上的 USB 设备。 usb.util : 这个包提供了一些有用的实用程序,可以将 firmware下载到 USB 设备上、将 USB 系统的内容转储到 XML 中、以及将只有 bulk I/O 的 USB 设备工具转换成一个套接字(socket)。 usb.devices : 这个可选包收集了用 jUSB API 访问不同 USB 设备的 Java 代码,包括柯达数码相机和 Rio 500 MP3 播放器。这些 API 经过特别编写以简化访问特定 USB 设备的过程,并且不能用于访问其他设备。这些 API 是在 usb.core API 之上构建的,它们可以工作在所有支持 jUSB 的操作系统上。 usb.view : 这个可选包提供了基于 Swing 的 USB 树简单浏览器。它是一个展示 jUSB API 应用的很好的示例程序。 尽管 usb.core.Host 对象的实现对于不同的操作系统是不同的,但是 Java 程序员只需要理解 usb.core 包就可以用 jUSB API 开始应用程序的开发。表 1 列出了 usb.core 的接口和类,Java 程序员应该熟悉它们: 表 1. jUSB 中的接口和类 接口 说明 Bus 将一组 USB 设备连接到 Host 上 Host 表示具有一个或者多个 Bus 的 USB 控制器 类 说明 Configuration 提供对设备所支持的 USB 配置的访问,以及对与该配置关联的接口的访问 Descriptor 具有 USB 类型的描述符的实体的基类 Device 提供对 USB 设备的访问 DeviceDescriptor 提供对 USB 设备描述符的访问 EndPoint 提供对 USB 端点描述符的访问、在给定设备配置中构造设备数据输入或者输出 HostFactory 包含 bootstrapping 方法 Hub 提供对 USB hub 描述符以及一些 hub 操作的访问 Interface 描述一组端点,并与一个特定设备配置相关联 PortIdentifier 为 USB 设备提供稳定的字符串标识符,以便在操作和故障诊断时使用 用 jUSB API 访问一台 USB 设备的正常过程如下: 通过从 HostFactory 得到 USB Host 进行 Bootstrap。 从 Host 访问 USB Bus ,然后从这个 Bus 访问 USB root hub(即 USB Device )。 得到 hub 上可用的 USB 端口数量,遍历所有端口以找到正确的 Device 。 访问附加到特定端口上的 USB Device 。可以用一台 Device 的 PortIdentifier 直接从 Host 访问它,也可以通过从 root hub 开始遍历 USB Bus 找到它。 用 ControlMessage 与该 Device 直接交互,或者从该 Device 的当前 Configuration 中要求一个 Interface, 并与该 Interface 上可用的 Endpoint 进行 I/O 。 清单 1 展示了如何用 jUSB API 获得 USB 系统中的内容。这个程序编写为只是查看 root hub 上可用的 USB 设备,但是很容易将它改为遍历整个 USB 树。这里的逻辑对应于上述步骤 1 到步骤 4。 清单 1. 用 jUSB API 获得 USB 系统的内容 import usb.core.*; public class ListUSB { public static void main(String[] args) { try { // Bootstrap by getting the USB Host from the HostFactory. Host host = HostFactory.getHost(); // Obtain a list of the USB buses available on the Host. Bus[] bus = host.getBusses(); int total_bus = bus.length; // Traverse through all the USB buses. for (int i=0; iJMF 项目的更多内容,参阅 Eric Olson 的全面性的“ Java Media Framework 基础”教程( developerWorks,2002年 5月)。 可以在 developerWorks Java 技术专区 中找到关于 Java 编程各个方面的数百篇文章。 加入 developerWorks 中文社区,查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。 条评论 请 登录 或 注册 后发表评论。 添加评论: 注意:评论中不支持 HTML 语法 有新评论时提醒我剩余 1000 字符 共有评论 (1) 非常不错! 由 javaku 于 2012年05月28日发布 报告滥用 IBM PureSystems IBM PureSystems™ 系列解决方案是一个专家集成系统 developerWorks 学习路线图 通过学习路线图系统掌握软件开发技能 软件下载资源中心 软件下载、试用版及云计算 回页首 帮助 联系编辑 提交内容 订阅源 在线浏览每周时事通讯 新浪微博 报告滥用 使用条款 第三方提示 隐私条约 浏览辅助 IBM 教育学院教育培养计划 IBM 创业企业全球扶持计划 ISV 资源 (英语) dW 中国每周时事通讯 选择语言: English 中文 日本語

12,694

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧