求关于旅游资源开发外文文献的英文文献

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
绍兴人文旅游资源开发与利用——以鲁迅文化旅游资源为例.pdf91页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
l l III II
rl IIII II IIf
绍兴人文旅游资源的开发与利用
――以鲁迅文化旅游资源为例
随着社会的不断发展和进步,人类迎来了以文化内容为主导的知识经济的到
来,文化与经济的互动成为新的经济增长点。当今世界旅游业的发展已经转向文
化型旅游业,文化旅游成为世界旅游业发展的亮点。
绍兴是~座有着近2500年建城历史的文明古城,是国务院首批命名的历史
文化名城,同时也是中国优秀旅游城市和最佳中国魅力城市,绍兴悠久的历史和
璀璨的文化孕育了丰富的人文旅游资源。
目的,绍兴的旅游经济正处于从加速发展阶段迈向成熟发展阶段的转型时
期,虽然近年来对人文旅游资源的开发与利用取得了显著的成果,但是仍然存在
诸多急需解决的问题。本文以鲁迅文化旅游资源为例,研究如何在现有基础上对
绍兴人文旅游资源进行更加科学、合理地丌发与利用,把绍兴打造成为国内外知
名的人文旅游目的地,使旅游业能够真正地成为绍兴经济社会发展的支柱产业、
优势产业和富民产业。
本文共分为六个部分,第一部分介绍了绍兴人文旅游资源开发的背景和意
义、国内外关于人文旅游的相关研究情况以及本文的研究方法和写作思路。
第二部分是文章的理论基础,主要有人文旅游资源的概念及其分类标准,旅
游资源的开发理论、评价体系、评价方法以及旅游规划理论等基本理论。这些理
论为本文的写作提供了理论依据
正在加载中,请稍后...泰国柯叻岛文化旅游资源开发研究
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
泰国柯叻岛文化旅游资源开发研究
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口急求一篇关于入境旅游的英文文献_百度知道
急求一篇关于入境旅游的英文文献
要求是能看到全文或者可以免费下载的地方。如果是提供文献地址,08年之前也勉强可以最好是2008年以后和国际金融危机有关的。悬赏不够可以追加
求的是英文文献。。。
我有更好的答案
按默认排序
北京市推出5万张重点景区免费门票、能源、澳门。我国实体经济相对而言受到的冲击不大、关联性较强的产业。预期包括中国在内的新兴经济体的旅游业发展,加强整顿和规范旅游市场秩序,成为扩大内需的主要领域之一,包括中国在内的亚太地区旅游业在全球发展最快。改革开放30年奠定的坚实基础:您对旅游业的发展前景更有信心、产品体系,旅游服务设施:根据党中央。 国内旅游需求稳定增长,一般在受到各类突发事件和自然灾害冲击后,旅游业将为国民经济和社会发展做出更大贡献,对游客实行便利服务和让利销售,旅游业发展的动力依然强劲。 金融危机发生后。我国旅游业多次遭遇了突发性事件。 去年下半年以来,推动实施乡村旅游倍增计划,不断增强最终消费能力.5%。而我国作为国际旅游目的地仍然充满魅力。进入21世纪,2009年,帮助企业用好国家鼓励节能减排,扩大内需的方针,居民旅游消费需求潜力依然巨大,旅游全行业将认真贯彻中央旨在提振信心。同时实施旅游服务质量提升计划。 各地政府、国民休闲旅游计划、2003年的“非典”疫情、欧洲作为主要客源市场受影响最大、旅游消费券。 旅游业有望成为最快的“回暖”行业之一 记者,主动应对、旅游促进就业行动计划等、房地产,即使在受到金融危机的影响下,容易受到各种突发事件影响,全面提高我国旅游业的质量结构和效益:在金融危机带来全球旅游总需求暂时疲软情况下,许多省市召开旅游产业发展大会传达了地方政府扶持和推动旅游业发展的决心,因金融危机和各种突发性事件的影响:国内外的研究结果表明,会对我国旅游业带来不利影响,旅游业有望比其他行业更快复苏。 尽管金融危机带来了全球总需求的疲软,如果今年经济能走出谷底、保增长的政策措施、日。随着全球金融危机影响的消退、旅游消费信贷,我国居民仍然有高达92%的受访者有意愿在2009年安排旅游活动、台湾地区的宣传促销。世界旅游组织预测,将有效缓解入境游客增幅下降的压力,增长23。春节期间,国际旅游收入年均增长8%以上。积极适应旅游需求变化,去年的“5·12”四川汶川特大地震灾害等。一旦国际金融危机影响减弱;苏州市推出300万份“旅游红包”,着力发展旅游服务消费,我国旅游业进入快速发展期总体趋势不会改变。 加强对俄罗斯,城乡居民收入继续增长,例如? 邵琪伟,延续了改革开放以来年均两位数的增长势头、国务院的战略部署、技术改进和扶持中小企业发展的各项优惠政策: 抓热点领域。立足于减轻旅游企业负担,我国旅游业总体发展趋势是否会改变,虽然受到全球金融危机影响,高于全球经济增长率1个至3个百分点,一下降”。2009年春节黄金周期间,为旅游者提供放心舒适的消费环境。旅游全行业认真贯彻落实党中央:旅游是全球最大的产业和发展最快的新兴产业之一,旅游业明显具有较快的恢复重振能力。全年旅游发展情况可概括为“两增长,我国居民旅游消费信心正在恢复,旅游交通。 我国经济社会已经进入了较高发展水平的新阶段,积极工作,实现国内旅游较大幅度的增长,将有力地支撑我国旅游业发展,居民旅游消费预期下降,但我国旅游业面临的重大机遇和基本环境没有改变、活跃节日旅游市场的特别举措,全球旅游业受到严重影响。世界旅游组织报告指出,经济实力和抵御风险的能力都明显增强,全球国际旅游也可能保持小幅增长。 目前。 金融危机不会改变我国旅游业总体发展趋势 记者,基本保持了全国旅游业平稳发展、东南亚周边国家和香港、休闲度假等消费热点,我国旅游业发展仍然面临严峻挑战,入境旅游出现下降,努力稳定入境旅游的基础份额、文化等热点消费。 目前、关键方面,旅游业又是极富韧性的产业。中央和地方出台了一系列应对金融危机,完全有可能在相对短的时间内改变入境旅游下降局面,大力发展国内旅游,我国旅游业将尽快回到又好又快的发展轨道.09亿人次。请及时采纳,上世纪90年代末的亚洲金融危机、汽车等行业相比,旅游业有望成为“回暖”最快的行业之一。只要措施得力.3亿元。今年要重点抓好以下几个方面的应对工作,能够在较短时间内恢复市场、扩内需、旅游部门和旅游企业已经积极行动起来,均在事件过后以较快的速度得到恢复、旅游企业促销让利。旅游已经成为国民生活不可或缺的重要内容。更多省市和企业还在或正拟推出新举措、南京等城市向游客派发了数亿元旅游消费券,即国内旅游,国际金融危机的影响仍在扩散和蔓延,保持我国旅游业平稳较快发展势头;实现旅游收入509、国务院应对金融危机的战略决策、生态旅游、重点地区;另一方面、出境旅游保持增长。我国居民年人均出游仅仅一次多。 我国将确保实现旅游业平稳较快发展 记者:金融危机多大程度上影响了我国和世界旅游业,更被寄予了期望,又要有客观科学的分析与把握,我们既要有清醒冷静的认识和估计。 金融危机给中国和世界旅游业带来严峻考验 记者,可能出现2%的下滑,积极开发与节假日调整相适应的旅游,国内旅游增长潜力还很大。当前和今后一段时期.1%。受世界经济增长明显减速和国内经济下行压力加大的影响,全国共接待游客1,旅游业是综合性。 我国经济社会发展的基本面没有改变,国内旅游占有重要地位,亚太地区虽也受到一些影响,旅游企业困难加剧.7%,美洲。调查显示。 与建筑,确保经济增长。今年1月出版的《世界旅游晴雨表》预测,但仍会保持小幅增长金融危机对国际旅游服务贸易的影响及对策国家旅游局局长邵琪伟在2009年全国“两会”前夕接受新华社记者专访时表示,我国旅游业总收入年均增长12,旅游业总体发展趋势也不可能改变或逆转,中国入境旅游平均增速高于全球3个至5个百分点,世界旅游组织未改变到2015年我国将成为全球最大的旅游目的地和第四位的出境旅游客源国的预测,都对旅游消费产生了明显拉动效果,千方百计撬动旅游市场,2009年全球旅游业呈现“总需求疲软”:2008年、目的地体系,推动试行奖励旅游,进一步培育假日旅游。您怎么看待旅游业的前景? 邵琪伟,切实增加有效供给。 今年以来我国国内旅游的发展也印证了上述说法,一方面、人才队伍建设等旅游业发展的基础更加坚实,对实体经济的冲击正在加深,我国旅游业发展环境良好,将对2009年全球旅游市场恢复产生积极影响。 深入研究和运用国家扩大内需的新政策,比上年春节黄金周增长24,但由于旅游市场前景与全球经济走势密切相关、红色旅游,有利于城乡居民旅游出行,国家宏观政策对旅游业发展十分有利、成都。从2000年至2008年,但如何确保实现旅游业平稳较快发展的目标呢,各项改革稳步推进。我国对外开放不断扩大,其严重后果还将进一步显现。杭州,这都将有利于旅游市场尽早恢复,都有利于旅游业发展,全球入境过夜旅游年均增长4%以上? 邵琪伟,旅游行业加快实现转型升级步伐、韩,特别是入境旅游市场出现明显下降? 邵琪伟,全国很多地方和旅游企业纷纷推出应对金融危机、通讯等基础设施更加完善。面对重大危机:有研究认为、乡村旅游!谢谢,我国旅游业受到严峻考验
其他类似问题
您可能关注的推广
英文文献的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求一篇关于JAVA或者JMF的英文文献。写论文用的,最好有中文译文如题,要字的 有的帮帮忙吧 着急用 谢谢_百度作业帮
拍照搜题,秒出答案
求一篇关于JAVA或者JMF的英文文献。写论文用的,最好有中文译文如题,要字的 有的帮帮忙吧 着急用 谢谢
求一篇关于JAVA或者JMF的英文文献。写论文用的,最好有中文译文如题,要字的 有的帮帮忙吧 着急用 谢谢
//英文原文自己找一下把Java媒体架构(JMF)Java媒体架构(JMF)是一个令人激动的通用的API,它允许Java开发者用许多不同的方法处理媒体。本指南主要通过使用工作的例子提供一个JMF的一些主要的特征的概述。阅读完本指南后,你将会明白JMF体系结构中的主要播放功能。你同样能正确的使用JMF,使用现存的例子和可为更多特殊功能扩展的源代码。本指南包含着以下主题:· 下载和安装JMF· 主要的JMF类以及它们在JMF体系结构中的应用· 播放本地的媒体文件· 为媒体的存取和操作制作以和图形用户界面(GUI)· 通过网络传播媒体· 通过网络接收媒体几乎所有的媒体类型的操作和处理都可以通过JMF来实现。全面的讨论JMF所提供的所有特征已经超过了本指南的范围,我们将使用三个简单的媒体应用程序来学习此框架的构建模块。通过这个方法,本指南将为你未来学习和实施更多特殊的应用提供准备。我应该使用此指南吗?本指南会带你学习使用JMF工作的基础。为完成这些,我们会创建三个的独立工作的例程序。每个例子都会建立前一个例子的基础上,显示JMF功能性的不同方面。在本指南中的例子假定你曾经使用过并且已经熟悉了Java程序语言。除了Java核心和JMF的类之外,我们会使用一些Java AWT和Swing类(用于创建GUI),也会有一些Java网络类(用于在网络中传输媒体)。对GUI和网络类一些熟悉有助于你更快的明白观点和这里的例子,但并非是阅读本指南必须的。我们将学习的例程序如下· 一个简单的音频播放器(JMF的HelloWorld应用):这个字符界面的播放器通过在命令行中简单的输入媒体文件的名字就可以播放大多数的音频类型。此音频播放器的演示大体上显示了JMF的特有的类。· 一个图形界面的媒体播放器:我们将使用JMF内置的接口组件来建立图形界面,所以在此练习中必须有一些图形界面的编程经验。这个媒体阅览器演示使用了一些Java AWT和Swing类来为用户显示图形组件。· 一个媒体广播应用:此应用程序允许一个本地媒体文件通过网络传播。此程序能灵活的使媒体只传输到指定的网络节点,或者传输到一个子网络中的所有节点。此演示使用了一些Java的网络APIs来在网络中传输媒体。作为第三个练习的一部分,我们将修改图形界面的播放器,让其能接收并且播放媒体。跳至23页观看Resources,文章,指南,和其他参考书目的列表,这会帮助你学习到更到关于此指南包括的主题。安装需求要运行此指南中的例程序,你需要如下的工具和组件:·
Java 2 平台,标准版,编译和运行演示程序·
Java媒体框架,版本2.1.1a或者更高· 一块已经安装并且配置号的适当的声卡· 一台或者多台测试机器· 演示的源代码文件在mediaplayer.jar中最后的一个演示应用显示了JMF在网络中的应用。如果需要,此演示能运行在一个独立的机器上,使用此机器即是传输方也是接收方。可是要观察到在网络中使用JMF的所有功能,你仍然需要至少两台联网的机器。在23页中的Resources可下载Java 2平台,完整的源代码文件,以及其他一些完成本指南所需要的工具。下载安装文件将JMF安装到你的计算机中的第一步是在JMF的主页中下载安装文件,它同样包括了JMF源代码和API文档的链接。23页的Resources中有下载JMF的链接。目前,JMF有Windows, Solaris, Linux等版本,以及可运行在任何装有虚拟机的计算机上一个纯Java版本。为了增加性能,你需要下载一个与你操作系统所适应的版本。任何在一个操作系统JMF版本下书写和编译的代码都可以方便的移植到另外的操作系统上。例如,如果你下载了一个Solaris版本的JMF并且编译了一个类,这些类就可以在Linux上使用,不会有任何问题。作为选择,你可以选择下载纯Java版本,或者跨平台版本的JMF。这些版本没有使用操作系统特有的库文件。如果没有合适的JMF版本适合的操作系统,那么跨平台版本就是一个不错的选择。安装JMF下载完JMF安装程序后,双击安装程序的图标。大部分安装程序都会有个选项,安装本地库到系统目录中;例如,Windows版本安装程序会有一个选项“Move DLLs to Windows/System directory.”。最好将此选项选中,因为它能确保这些操作系统的库文件能正确的安装在安装的过程中,你还需要选择项目来更新系统的CLASSPATH和PATH变量。如果这些选项被关闭,那么在你编译和运行本指南的例程序的时候就需要在classpath中引入JMF的jar文件。关于作者Eric Olson在Retek Inc工作的软件工程师。它在Java平台上有四年的工作经验,并且在不同的基于Java的技术上富有经验,包括JMF, Jini, Jiro, JSP, servlets, and EJBs。Eric毕业于St. Paul, MN的St. Thomas大学,获得计算机科学的学位。他在IBM的SanFrancisco项目组工作,负责WebSphere商业组件。他同时再为Imation Corp.工作,负责存储应用。现在,他正在开发零售行业的基于web的软件解决方案。再业余的时间,Eric和PaulMonday在Stereo Beacon上合作—一个分布式的点对点的基于JMF的媒体播放器。联系Eric .第二节. 一个简单的音频播放器浏览在本节中,我们将进行创建一个简单的音频播放器的第一个练习。本例将介绍Manager类和Player接口,中两个都是建立大多数基于JMF应用的重要部分。本例的功能目标是在字符界面下播放本地的音频文件。我们将学习此源代码,并了解每一行所做的任务。完成本节后,你将会有一个基于JMF的可播放包括MP3, WAV, AU等多种音频文件的演示程序。在本练习后的源代码分类种可查询文件SimpleAudioPlayer.java。引入必要的类SimpleAudioPlayer类中包括了一些调用,在其前几行中需要引入所有必要的类:import javax.media.*;import java.io.Fimport java.io.IOEimport java.net.URL;import java.net.MalformedURLEThe javax.media包是由JMF定义的多个包之一。javax.media是一个核心包,包括了定义Manager类和Player接口等。本节中,我们主要学习Manager类和Player接口,其余的javax.media类放在后面的章节中。除了引入javax.media声明外,以上的代码片断引入了一些创建媒体播放器的输入的声明。Player接口在下面的代码片断中,创建一个公共类SimpleAudioPlayer并举例定义一个Player变量:public class SimpleAudioPlayer {private Player audioPlayer =术语Player听起来由点熟悉,因为它是建立在我们公用的音频或者视频播放器的基础上的。事实上,这个接口的例子就像是当作它们的真实的副本。 Players揭示了一个实体上的媒体播放器(如立体音箱系统或者VCR)涉及到功能上的方法。例如,一个JMF媒体播放器可以开始和结束一个媒体流。在本节种,我们将使用Player的开始和结束功能。在一个文件上创建一个Player使用JMF获得一个特定媒体文件的Player实例非常简单。Manager类在JMF中如同一个工厂制作许多的特殊接口类型,包括Player接口。因此,Manager类的责任就是创建Player实例,如下例:public SimpleAudioPlayer(URL url) throws IOException,NoPlayerException,CannotRealizeException {audioPlayer = Manager.createRealizedPlayer(url);}public SimpleAudioPlayer(File file) throws IOException,NoPlayerException,CannotRealizeException {this(file.toURL());}如果你看完本节的代码,你可以注意到Manager类包含了创建一个Player实例的其他方法。我们会研究其中的一些,如在后面的章节中的DataSource或者MediaLocator的实例化。Player的状态JMF定义了大量的一个Player实例可能存在的不同状态。如下:· Prefetched· Prefetching· Realized· Realizing· Started· Unrealized使用这些状态因为使用媒体常常是资源非常密集的,由JMF对象揭示的许多方法都是不闭塞的,允许一系列事件监听的状态改变的异步通知。例如,一个Player在它可以启动之前,必须经过Prefetched和Realized状态。由于这些状态的改变都需要一些时间来完成,JMF媒体应用可以分配一个线程来初始化创建 Player实例,然后再继续其他的操作。当Player准备就绪的时候,它会通知应用程序其状态已经改变。在一个如同我们的这样简单的程序中,多功能性的类型并不是很重要。处于这个原因,Manager类也提供了一些创建Realized player的有用方法。调用一个createRealizedPlayer()方法来阻塞调用线程,直到player达到Realized状态。为了调用一个无阻塞的创建player的方法,我们在Manager类中使用了一个createPlayer()方法。下面的一行代码中创建了一个我们需要在例程序中使用的Realized player:audioPlayer = Manager.createRealizedPlayer(url);启动和停止Player设定一个Player实例的启动或是停止就如同调用Player的一个简单的认证方法,如下所示:public void play() {audioPlayer.start();}public void stop() {audioPlayer.stop();audioPlayer.close();}调用SimpleAudioPlayer类中的play()方法来实现调用Player实例的start()方法。调用此方法后,你能听到本地的喇叭的声音文件。同样的,stop()方法使player停止并且关闭掉Player对象。对于读取和或者播放本地媒体文件来说,关闭Player实例释放所有资源是一个有用的方法。因为这是一个简单的例子,关闭Player是终止一个会话可接受的方法。但是在实际的应用中,你需要小心的确认在除掉Player之前必须要关闭掉。一但你已经关闭掉player,在再次播放一个媒体之前你必须要创建一个新的Player实例(等待它的状态改变)。建立一个SimpleAudioPlayer最后,这个媒体播放应用程序要包含一个可以从命令提示行中输入命令而调用的main()方法。在此main()方法中,我们将调用创建SimpleAudioPlayer的方法:File audioFile = new File(args[0]);SimpleAudioPlayer player = new SimpleAudioPlayer(audioFile);在播放音频文件之前的唯一的一些事情就是调用已经创建的音频player的方法play(),如下所示:player.play();要停止和清除掉音频player,在main()方法中也应该有如下调用:player.stop();编译和运行SimpleAudioPlayer通过在命令提示行输入javac SimpleAudioPlayer.java来编译例程序。所创建的文件SimpleAudioPlayer.class在当前工作目录中。然后在命令提示行中键入如下命令来运行例程序:java SimpleAudioPlayer audioFile将audioFile替换成你本地机器上的音频文件。所有的相对文件名都试相对于当前的工作目录。你会看到一些当前正在播放文件的标志信息。要终止播放,按下回车键。如果编译失败,确认JMF的jar文件已经正确的包含在CLASSPATH环境变量中。第三节. JMF用户界面组件播放视频在前一节中,我们学习了建立一个通过字符界面播放音频文件的应用程序。JMF中一个最重要的特点就是你不需要为了配置媒体播放器而去了解媒体文件的格式;一切都内置了。举一个例子,再我们前面的例子中,需要使用MP3格式的时候,我们不需要让应用程序为一个MP3文件建立一个特殊的Player。如同你将会再本节所见到的,对于视频文件的操作同样有效。JMF有所有媒体文件类型接口的详细资料。处理视频媒体与音频最大的不同就是,我们必须建立一个能播放视频的显示屏幕。幸运的是,JMF能处理许多的这些资料。如同再上例一样我们会建立一个Player对象,并且使用很多的可视组件来直接从JMF对象中创建我们的可视的媒体浏览器。本节中,我们将学习两个例程序。In this section, we&aposll walk through the second example application. 请再后面的练习的源代码分布中查阅MediaPlayerFrame.java。关于例子在本节中,我们将创建一个能显示和运行本地音频和视频媒体的应用程序。作为练习的一部分,我们将研究JMF内置的一些GUI组件。熟悉AWT和Swing将有助于你理解本例,但这并不是必须的。除非需要直接涉及到JMF的GUI组件,或者我们是不会详细介绍源代码的。你可以在源代码的注释中找到这里未涉及的详细说明。本例中我们使用的许多概念,类和方法都和第一个例子的类似。建立Player的基本操作大都一样。最大的不同就是我们需要对Player对象专研更深一点,特别当需要从Player获取媒体信息的时候。如何开始视频播放器例子被设计得如同音频播放例子一样通过命令行来运行,但是本例需要建立在GUI基础上。如同在上节一样,我们先通过媒体文件名调用应用。然后,应用程序显示一个带有可操作媒体组件的窗体。在MediaPlayerFrame开始的一行中我们定义了类并扩展自,javax.swing.Jframe类。这就是使媒体播放器如同一个在桌面上的单独窗体的方法。任何客户机程序创建了本媒体播放对象后都可以通过调用Jframe类中定义的show()方法来显示。下面是一个MediaPlayerFrame正在播放MPEG电影的屏幕截图:获取GUI组件Player界面有一些方法来获取已选择可视组件的涉及。在MediaPlayerFrame中,我们使用如下组件:· player.getVisualComponent()是一个播放所有视频媒体的可视组件。· player.getControlPanelComponent() 是一个操作时间轴的可视组件(包括开始,停止,回放),也包含了一些媒体流的有用信息。· player.getGainControl().getControlComponent() 是操作音量(增加)的可视组件。getGainControl()方法返回一个GainControl实例,可用于改变节目的增加等级。使用可视化组件上面的界面方法都返回一个ponent类的实例。没个实例都视可加载到我们窗体上的可视组件。这些组件都与Player有直接的联系,所以在这些组件上的所有可视元素的处理都会产生Player播放媒体后相应的变化。在我们将这些组件加入到我们的窗体的之前,必须要保证它们不为空。因为并不是所有的媒体播放器包括每一种可视组件,我们只需添加相关播放器类型的组件。比如,一般来说一个音频播放器没有可视组件,所以getVisualComponent()就要返回空。你不会想在音频播放器窗体上添加可视组件的。获得媒体的特殊控制一个Player实例也可以通过getControl()和getControls()方法来暴露其控制,getControls()返回一个控制对象集,而getControl()返回一个控制。不同的播放器类型可选择为特殊的操作来暴露控制集去指定的媒体类型,或者用于获取该媒体的传输机制。如果你在写一个只支持某些媒体类型的播放器,你需要依靠某些在Player实例中可用Control对象。由于我们的播放器是非常抽象的,被设计于播放多种不同媒体类型,我们简单的为用户暴露所有的Control对象。如果找到任何扩展的控制集,我们就可使用getControlComponent()方法来增加相应的可视控件到标签面板上。通过这个办法,用户就可以观察播放器上的所有组件。以下代码片断将所有的控制对象暴露给用户:Control[] controls = player.getControls();for (int i = 0; i< controls. i++) {if (controls[i].getControlComponent() != null) {tabPane.add(controls[i].getControlComponent());}}为了使一个真实的应用程序能用Control实例做一些有用的事(除了能显示可视组件之外),应用程序需要知道该Control的特殊类型,并分配它。此后,应用程序就可使用这些control来控制媒体节目了。例如,如果你知道你经常使用的媒体暴露 javax.media.control.QualityControl类型的Control,你能使用QualityControl界面,之后在 QualityControl界面上通过调用各种方法来改变性质设定。使用一个MediaLocator在我们新的基于GUI的媒体播放器和我们的第一个简单播放器之间最大的不同就是,我们使用一个MediaLocator对象而不是URL来创建Player实例,如下所示:public void setMediaLocator(MediaLocator locator) throws IOException,NoPlayerException, CannotRealizeException {setPlayer(Manager.createRealizedPlayer(locator));}我们将在稍后的章节中讨论这个变化的原因。目前,在网络上资源站点上,关于MediaLocator对象和URL的描述被认为是非常相似的。事实上,你可以从一个URL创建一个MediaLocator,也可以从MediaLocator获取到URL。我们的新媒体播放器一个URL中创建一个 MediaLocator,并使用该MediaLocator通过文件创建了一个Player。编译和运行MediaPlayerFrame通过在命令提示行输入javac MediaPlayerFrame.java来编译例程序。在工作目录下将创建一个名为MediaPlayerFrame.class的文件。在命令提示行中键入如下来运行例程序:java MediaPlayerFrame mediaFile你需要用你本机上的一个媒体文件来替换掉mediaFile(音频或者视频文件都可以)。所有的相对文件名都是相对于当前工作目录。你会看见一个显示控制媒体文件的GUI控制集的窗口。欲了解JMF支持的音频和视频文件列表,在23页的资源。如果初始编译时失败,请确认JMF的jar文件已经包含在当前的CLASSPATH环境变量中。MediaPlayerFrame在行动在本节前你看见的一个视频播放器正在播放MPEG视频文件的屏幕截图。下面的屏幕截图显示了一个音频播放器正在播放一个MP3文件:要更多的学习本练习中的例子,查看完成的MediaPlayerFrame源代码。第四节. JMF概念JMF体系结构你曾见过了使用JMF播放本地媒体文件是多么的容易,现在我们将后退一步,来看看一幅是如何通过JMF创建了如此成熟的基于媒体的应用程序的大的画面,是如何通过JMF创建了如此成熟的基于媒体的应用程序。全面的了解JMF体系结构是没有意义的,本节将给你一个大体的概念,关于高级的JMF组件是如何组合起来创建想得到的东西。JMF的组件结构非常的灵活,它的组件一般可以分成三个部分:· Input描述某种被用于在进程休息的时候作为一个输入的媒体。· process执行某些输入上的活动。一个过程有一个明确的输入和输出。大量的过程可用, 能被用于一个输入或者一批输入。这些过程能被联系起来,一个过程的输出被用于另外一个过程的输入。在这种风格中,大量的过程可能被应用于一个输入。(这段期间是可选择的——我们开始的两个例子没有包含真正的数据过程,只有一个来自文件的输入和一个通过Player的输出。)· Output 描述了媒体的某些目的地。从这些描述中,你可以想象到JMF组件体系结构听起来就好像在一个典型的立体声系统或者VCR之后。很容易设想到,使用JMF就如同打开电视或者在立体声音箱系统下调节声音的风格。例如,录制喜爱的电视节目的简单的动作能在这些组件的基础中:· Input 是电视广播流,在同一个频道运输音频和视频。· Process 是一个记录设备(就是,一个VCR或者许多的数字设备)转换模拟或者数字音频视频广播流成适合复制到磁带或其他媒体上的格式。· Output 是记录已格式化轨迹(音频和视频)到某些类型的媒体上。JMF资料处理模式以下图片说明了JMF数据处理模块并对每个类型给出了例子:使用此模式,很容易明白我们前面的两个例子,从文件中输入音频和视频并输出到本地计算机上。在后面的章节中,我们也会谈论一些通过传播和接收音频媒体的JMF网络功能。处理模型例子将JMF 的输入,处理和输出模式联系起来,我们能开始想象许多基于媒体的操作都可能通过JMF完成。一个例子,转换一种媒体类型为其他类型并将其输出存储到一个新的文件。举一个例子,我们想要在不损坏原始文件的前提下转化一个WAV格式的音频文件为MP3格式。以下的过程模式插图,就是我们将开始执行转换的步骤:本例的输入是一个WAV文件。它被一个媒体格式转换工具加工,并输出到一个新的文件。现在,让我们看看JMF API中的这个模式的每一步。我们使用输入,处理和输出模式作为概念上的路标。JMF输入再JMF中,一般由一个MediaLocator对象来描述一个输入。如先前规定的,MediaLocator的外观和行为都非常象一个URL,这样它可以唯一确定网络上的一个资源。事实上,使用一个URL来创建一个MediaLocator是完全可能的;我们在前面的两个例子中就是这样做的。为了我们的媒体转换例子,我们需要建立一个MediaLocator来描述最初的WAV文件。如同我们将在后面的章节中见到的,一个 MediaLocator也可以用于描述一个跨越网络中媒体流。在这个案例中,MediaLocator会描述传播的URL――很像一个被URL指定的在 Web上的资源,用于取代指定一个本地文件系统的文件来建立MediaLocator。一个MediaLocator和一个URL之间的不同要成功的建立一个URL对象,需要适当的java.net.URLStreamHandler安装于系统中。这个流处理的用途是能够处理被URL描述的流类型。一个MediaLocator对象并没有这个需要。例如,我们的下个应用程序将使用实时传输协议(RTP)在网络上传输音频。由于多数的系统都未为 RTP协议安装一个URLStreamHandler,所以创建一个URL对象会失败。在这个应用中,只有MediaLocator对象会成功。要理解更多关于URL对象以及创建和注册一个URLStreamHandler的信息,查阅JDK帮助文档(查看23页资源)。JMF处理机当我们使用JMF的时候,应用程序的处理机组件被Processor接口实例描述。你需要已有些熟悉Processor,它扩展至Player接口。由于 Processor继承直Player接口,它同样也从Player继承所有可用属性。另外,Processor增加了两个属性:Configuring 和Configured。这些扩展的属性(和与之关联的方法)用于Processor从输入流收集信息时的通信。在我们的最后的例程序中,我们将建立一个Processor用于将MP3编码格式的音频转换成适合在网络上传播的格式。在稍后的板块中我们会讨论创建一个简单的Processor的步骤。JMF输出有少许的方法用于描述JMF中处理模式的输出状态。最简单的(并且我们将在最后一个例子中使用的)是javax.media.DataSink接口。一个 DataSink读取媒体内容并且将其传送到一些目的地。本节中最开始的音频格式转换过程中,MP3(输出)文件将被DataSink描述。在我们最后一个例子中,我们将使用一个DataSink在实际上完成网络中传播音频媒体的工作。一个DataSink是在Manager类中,由指定一个 DataSource(输入到DataSink)和一个MediaLocator(输出到DataSink)完成的。一个DataSource实例描述可用于Players,Processors和DataSinks的输入数据。一个处理机的输出也被描述成一个DataSource对象。这就是为什么处理器能彼此联系起来,在同一媒体数据中完成多种操作。这也是来自Processor的输出能作为输入被Player或者DataSink使用的原因(它可将媒体传递到输出目的地)。一个DataSink的最后目的文件由一个MediaLocator对象说明。如同前面一样,MediaLocator描述一个网络资源;这就是媒体流将被传递的地方。第五节.传播接收媒体JMF和实时传输协议(RTP)许多的友善网络的特征直接建立在JMF中,这些使为客户端程序通过网络传输和接收媒体非常容易。当在一个网络上的一个用户想要接收任何种类的媒体流的时候,它不需要在观看媒体前等待全部的广播下载到机器上;用户可以实时的观看广播。在流媒体中些提出了这个概念。通过流媒体,一个网络客户端能接收到其他机器上广播的音频,甚至获取正在发生的实况视频广播。在IETF RFC 1889中定义了实时传输协议(RTP)。发展在快速和可靠的状态下通过网络传输时间极其敏感的数据,RTP在JMF中用于提供给用户向其他网络节点中传输媒体流的方法。在本节中,我们将学习我们的最后一个例程序。这里,你将学习到如何传输一个存储在一台机器上的MP3文件到另外的在同一个网络的机器上去。实际的MP3源文件并不从主计算机上移除,它也不使复制到其他机器上去;事实上它将会转换成能使用RTP传输的文件格式并通过网络发送。一旦被一个客户端接收到,源文件(现在是RTP信息包的形式)可以再次传输,这一次是在接收机器上可播放的一种格式。在MediaTransmitter.java文件中源代码查看学习以下练习。设置处理模式我们可以在前面的章节中定义的处理模式的基础下来讨论我们的最终的例子。在传输机器上,处理模式看起来像这样:事实上,MediaTransmitter对象源代码包括了以下三行:private MediaLocator mediaLocator =private DataSink dataSink =private Processor mediaProcessor =这三个实例变量可以直接映射到前面的处理模式图表,如下:·
mediaProcessor变量是我们的处理器;它将负责转换音频文件从MP3文件模式到一个适合通过RTP协议传输的格式。·
dataSink变量是我们的输出块。· 当我们建立DataSink时我们需要指定一个MediaLocator,它是DataSink的目的文件。当我们通过运行DataSink我们的处理过的媒体,它将传输到我们在MediaLocator中指定的地点。}

我要回帖

更多关于 文献求助 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信