MusicXML文档翻译(持续更新)

translator : Mr_52HzDate : 2019/4/4阅读原文MusicXML 3.0 Tutorial MusicXML 3.0 教程MusicXML is a digital sheet music interchange and distribution format.MusicXML 是数字活页乐谱的交换和分发格式。goal is create a u...
摘要由CSDN通过智能技术生成

translator : Mr_52Hz
Date : 2019/4/25

阅读原文

MusicXML 3.0 Tutorial MusicXML 3.0 教程

MusicXML is a digital sheet music interchange and distribution format.
MusicXML 是数字活页乐谱的交换和分发格式。
goal is create a universal format for common Western music notation, similar to the role that the MP3 format serves for recorded music.
目的是为西方音乐符号创造一种通用格式,类似MP3格式在录制音乐中的角色。
The musical information is designed to be usable by notation programs, sequencers and other preformance programs, music education programs, and music databases.
设计这种音乐信息主要用于标记程序、音序器、其他表演项目、音乐教育项目和音乐数据库。
The goal of this tutorial is to introduce MusicXML to software developers who are interesting in reading or writing MusicXML files.
那么这个教程的意义是为对阅读和制作MusicXML文档感兴趣的开发者提供介绍。
MusicXML has many features that are required to support the demands of professional-level music software.
MusicXML具备支持专业级音乐软件许多特性。
But you do not need to use or understand all these elements to get started.
但是刚开始你并不需要使用或搞明白所有的MusicXML元素。

MusicXML FAQ MusicXml常见问答

Why did we need a new format?
我们为什么要搞一种新的格式?
What’s behind some of the ways that MusicXML looks and feels?
MusicXML的视听背后的方法是什么?
What software tools can I use?
我可以使用什么工具软件?
Is MusicXML free?
MusicXML 免费吗?

“Hello World” in MusicXML MusicXML中的“你好,世界”

Here you will find your simplest MusicXML file - one part, one measure, one note.
在这个模块你将看到一个最简单的MusicXML文件 - 一个章节,一个小节,一个音符。

The Structure of MusicXML Files MusicXML文件的结构

There are two ways of structuring MusicXML files - measures within parts, and parts within measures.
MusicXML文档结构有两种 - 章节包含小节,小节包含章节。
This section describes how to do it either way, and how to switch back and forth between them.
这部分描述每种方式的实现和两种方式之间怎样切换。
It also discusses the descriptive data that goes at the start of a MusicXML file.
这部分也讨论MusicXML文件怎样写开头部分描述性数据。

The MIDI-Compatible Part of MusicXML MusicXML的MIDI兼容

What parts of MusicXML do I need to represent a MIDI sound file?
我需要用MusicXML哪部分来表示一个音频文件MIDI呢?
The MIDI equivalents in MusicXML are described here.
MusicXML中的MIDI等价部分在这部分介绍。

Notation Basics 符号基础

Here we discuss the basic notation features that go beyond MIDI’s capabilities, including stems, beams, accidentals, articulations, and directions.
这部分我们讨论符号基础特征(MIDI范围之外)包括:符杆、符尾、偶然特性、articulations和说明。

Chord Symbols and Diagrams 和旋符号和谱面

MusicXML provides a rich representation for harmonies, both for harmonic analysis and for chord symbols.
MusicXML提供了很多和旋的表示方法,包括和旋分析和和悬符号。
Here wo discuss how to create the chord symbols and diagrams found in much contemporary sheet music, including lead sheets, piano/vocal/guitar arrangements, and big-band charts.
这部分我们讨论怎样创建和旋符号,怎样创建当代的电子活页谱面,包括铅板、钢琴/人声/吉他排列和大乐队谱面。

Tablature 弦乐器

Here wo describute the basics of tablature notation: specifying strings, frets, string tunings, and guitar-specific notations like hammer-ons and pull-offs.
这部分介绍弦乐器基础标识:指定弦、弦乐、弦乐调弦和特定于吉他的符号,如锤子和拉弦。

Percussion 打击乐器

Here we discuss the steps needed to represent unpitched percussion parts such as drum kits.
这部分我们探讨表示没有音高的打击乐器(如鼓)的步骤。
Some of these techniques apply to other types of music, such as the use of multiple instruments, alternate noteheads, and different measure styles.
有些技巧也适用于其他类型的音乐,例如使用多个乐器,备用浮头,和不同小节样式。

Compressed .XML Files 压缩的.XML文件

MusicXML 2.0 added a compressed zip-based format that greatly reduces MusicXML file sizes.
MusicXML 2.0添加了一种基于zip的压缩格式,这大大减小了MusicXML文件大小。
Here we discuss the structure of the compressed .xml format.
这部分我们探讨.xml格式的压缩结构。


MusicXML FAQ MusicXML 常见问答

Why did we need a new format? 为什么要搞一种新格式?

There are many fine computer music programs in the world.
世界上有很多好用的计算音乐的项目。
Unfortunately, sharing music between them used to be difficult.
不幸的是,在这些项目之间共享音乐是很困难的。
This was a real problem since no one program can do everything equally well.
这才是真正的问题因为没有一个项目能够很好的处理好每一个事情。
Having to reenter musical data for each program you want to use is a big inconvenience to everyone who uses more than one music software program.
对于使用多个音乐软件的每个人来说,必须为每个要使用的程序重新输入音乐数据是很不便的。
Before MusicXML, the only music notation interchange format commonly supported was MIDI.
在MusicXML诞生之前,通常MIDI是唯一通用的音乐符号交换格式。
MIDI is a wonderful format for performance applications like sequencers, but it is not so wonderful for other applications like music notation.
MIDI对(像音序器一样的)演奏类的应用来说是很完美的格式,但是对(音乐符号标记类)其他类的应用来说并不完美。
MIDI does not know the different between F-sharp and a G-flat;
MIDI并不能区分升半音的F和降半音的G。
it does not represent stem direction, beams, repeats, slurs, measures, and many other aspects of notation.
并且MIDI不能表示出符杆方向,符尾,重复小节,连音线,多小节和其他方面的标记。
People had recognized for years that a new interchange format was needed, but no prior attempt at creating a new standard format had succeeded.
人们许多年以前就意识到了,需要一中新的交换格式,但是先前创建新标准格式的尝试都没有成功。
NIFF had probably been the most successful attempt to date, but it’s use was very limited and the format was not being maintained.
NIFF可能是那时最成功的尝试了,但是它的使用很受限而且这个格式也没有进行维护。
SMDL was the most ambitions attempt, but we know of no software actually using it.
SMDL是最有雄心的尝试,但是并没有软件实际上使用它。
At Recordare, we are excited by the possibilities of Internet music publishing just as many other people and companies are.
但要记住,我们和其他人以及公司一样都对网络音乐的发行的可能性感到激动。
But if you go to existing sites like Musicnotes and Sheet Music Direct, you find that all you can do with their music is 1)print it or 2)play it in their proprietary player.
但是你去访问已经存在的一些站点(像Musicnotes、Sheet Music Direct),你会发现在他们的播放软件中你都能够做两件事1打印 2播放。
Sites that only use scanned PDF files offer even less to consumers.
这些站点提供给消费者的仅仅是扫描的PDF文件甚至没有。
If that is all you can do with online music, why get it online instead of on pepar?
如果在线音乐只有这些的话,那我们为什么非要在线获取而不是从纸上获取呢?
That seems to be the reaction of most people, based on all published industry reports of online sheet music sales up through 2011.
这个疑问可能是大多数人的反应,基于2011年所有已发布的在线乐谱销售行业报告。
We believe that an Internet-friendly standard format is necessary for the growth of the Internet music publishing market.
我们相信一个通用的网络标准格式对急速增长的网络音乐出版市场来说是很有必要的。
Today it is like using the Internet before HTML was invented, or using synthesizers before MIDI was invented.
今天这件事很像在HTML被创造出来之前使用Internet,或者在MIDI被创造出来之前使用合成器。

Why not use an existing format like NIFF or SMDL? 为什么不使用已经存在的格式(像NIFF,SMDL)?

NIFF and SMDL were noble efforts to solve the same type of interchange problem that MusicXML addresses.
NIFF和SMDL格式付出了很大的努力来解决MusicXML同样出现的交换问题。
So why don’t we use them rather than inventing something new?
所以为什么我们不使用它而是开发新的格式呢?
NIFF represents music using a graphical format.
NIFF使用图形格式表示音乐。
There is no concept of a “C” in NIFF: instead, you determine pitch by its placement on a staff.
在NIFF格式中没有中央“C”的概念:相反,你使用音符在五线谱上的位置定义音高。
This type of graphical music representation has a long and distinguished history.
这种图形化的音乐表现形式有着悠久的历史。
it works well for the scanning programs that were focus of NIFF’s work.
NIFF针对一些扫描项目起到很好的作用。
But it works poorly for many other types of applications, such as sequencing and musical databases.
但是对一些其他类型的应用作用不是很大,比如音符序列和音乐数据库。
For both of these applications, MIDI works much better than NIFF;
这两类应用MIDI发挥的作用要比NIFF好。
For notation, though, NIFF is more complete than MIDI.
尽管,对标记符号而言NIFF比MIDI更完善。
MusicXML is designed to meet the interchange needs for all these types of applications.
MusicXML是被设计出来满足所有这些应用的交换需求的。
A graphical format like NIFF really does not work well for general interchange, which is one of the main reasons NIFF has not been adopted by more programs.
像NIFF这种图形化的格式事实上不适合用来做通用的交换,这也是NIFF没有被更多项目采用的原因之一。
Another major impediment is that NIFF is a binary format, rather than a text format like XML.
另一个主要障碍是NIFF是二进制格式,而不是像XML这样的文本格式。
It is much easier to write and debug programs that read and write to a text format vs. a binary format.
读写成一个文本(而不是二进制)对项目写和调试更加简单。
SMDL suffered form the problem of trying to be a general-purpose solution to the problem of representing all possible musics of the past, present, and future.
SMDL一直有一个问题,试图成为一个通用的解决方案,解决所有过去、现在和未来可能的音乐问题。
In addition, the project was not grounded in practical implementation experience.
另外,该项目没有实际的实施经验。
The result was something so complicated that practically nobody can understand it.
这就导致项目非常复杂,没有人能够理解它。
The overwhelming complexity greatly inhibited SMDL’s adoption-it certainly inhibited us!-and we know of no commercial software that support it.
过于复杂很大程度的影响了SMLD的被使用,当然也影响了我们采用它,并且没有一款商业软件能够支持它。

Where did the design of MusicXML come from? MusicXML的设计从何而起呢?

MusicXML was based primarily on two academic music formats:
MusicXML基于两种理论格式:

  • The MuseData format, developed by Walter HewLett at Center of Computer Assisted Research in the Humanities (CCARH), located at Stanford University.
  • MuseData格式,由Walter HewLett在斯坦福大学人文科学计算机辅助研究中心(CCARH)开发
  • The Humdrum format, developed by David Huron, based at Ohio State University.
  • Humdrum格式,由俄亥俄州立大学的David Huron开发。

Eleanor Selffidge-Feild from CCARH edited a magnificent book called Beyond MIDI: A Handbook of Musical Codes.
来自CCARH的伟大的Selfridge-Feild出版了一本伟大的书:超越MIDI:音乐编码手册。
Studying this volume made it clear that, as we had been advised, MuseData and Humdrum were the most comprehensive starting points for the type of language we wanted to build.
详细研究了本书,我们清楚的认识到,正如被建议的那样,MuseData和Humdrum是我们想要创建的语言类型的最好的起点。
The first beta version of MusicXML was basically an XML updating of MuseData, with the addition of some key conepts from Humdrum.
MusicXML的第一个beta版本基本上是对Musedata的XML更新,添加了一些来自Hummerum的关键概念。
Since both formats have been used primarily for work in classical and folk music, MusicXML was extended beyond those boundaires to better support contemporary popular music.
由于这两种格式主要作用在古典和民间音乐中,所以MusicXML做了拓展,以便更好的适应流行音乐。
In recent releases, MusicXML’s capabilities have been greatly expanded so it can serve as a distribution format for digital sheet music as well as an interchange format.
在最近发布的版本中,MusicXML获得了很大的扩展,所以可以作为电子音乐的分发格式以及交换格式。
Many features have been added in order to make MusicXML near-lossless when it comes to capturing how music is formatted on the printed page.
MusicXML添加了很多特性,来保证谱面渲染时接近无误。

Why do you use XML? 为什么使用XML?

XML was designed to solve exactly the type of problem we face today in music software.
XML被设计成完全能够解决我们目前在音乐软件中面临的问题。
Say you have 100 music applications, each with its own format.
假设有100个应用程序,每个都有自己的格式。
For each application to communicate with the other, 10000 separate programs would need to be written without a common interface language!
对每个APP来说,要跟其他app交互,如果没有通用的语言接口,需要编写10000独立的项目。
With a common interface language, each application writes only one program, so only 100 separate pargrams would be required.
如果有了一个通用的语言接口,每个app只需要写一份项目,所以仅需要写100个工程(就能实现app直接通信)。
Consumers gain enormous value at relatively small cost to the software developer.
这对软件开发者来说以相对较小的代价换取了巨大的价值。
XML builds on decades of experience with its predecessor SGML, as well as the experience with the explosive growth of HTML and the Web.
XML是建立在经过数十年发展的前身SGML的基础上,同时又是HTML和Web爆炸式发展的基础上。
XML hits the magic “sweet spot” between simplicity and power, just as HTML and MIDI have done in the past.
XML在简洁性和强大性之间达到了神奇的“最佳点”,正如HTML和MIDI过去所做的那样。
It is designed to represent complex, structured data, and musical scores fit that description.
MusicXML设计出来去表示复杂的,结构化的数据和符合乐谱的描述。
Using XML frees us from worring about the basic syntax of the language, instead letting us worry about the semantics-what to represent, versus the syntax of how to represent it.
使用XML我们不需要担心语言复杂的语法,相反我们只需要关注表示的语义,而不是语法结构怎么表示。
Similarly, there is no need to write a low-level parser to read the language: XML parser exist everywhere.
同样,不需要编写一个低级解析器来读取语言:XML解析器无处不在。
Basing a music interchange language on XML lets music software, a relatively small community, leverage the investment in tools made by musch larger markets such as electronic commerce.
基于XML的音乐交换语言,使得那些相对较小的社区音乐软件能够充分利用对大型市场(如电子商务)工具的投资。

Is MusicXML free? MusicXML免费吗?

The MusicXML DTDs and XSDs are available under a royalty-free license from Recordare.
MusicXML DTD和XSD可从Recordre获得免版税许可证。
This license is modeled on those from the World Wide Web Consortium(W3C).
此许可证基于万维网联盟(W3C)的许可证。
If you follow the trems of the license, you do not need to pay anyone to use MusicXML in your products or research.
如果你遵循W3C许可,不需要想任何人付费就可以在你的产品或研究中使用。
Recordare has no patents issued or pending for the MusicXML DTDs and XSDs.
对于MusicXML DTD和XSD,Recordre没有已颁发或正在申请的专利。

Is your software open source? 你的软件开源吗?

No.
不。
We believe that making the MusicXml definition freely available is essential for its spread into the music industry.
我们相信把MusicXML定义成免费有助于将它在音乐产业传播开来。
We do not see a similar advantage to making our own software free or open source.
我们并不认同有勇气开源自己的软件和代码。
We do not charge people to beta test our software, but we do charge for production versions of our software.
我们对测试版本软件不收费,但是对正式版本的软件收费。
We encourage people to build more applications using MusicXML.
我们鼓励人们使用MusicXML来搭建更多的app。
There are many potential applications, and no one conpany or group can do everything.
有太多潜在的应用,并且没有一个公司和团队能够做好每件事。
If you want to make your software open source, that is fine with us.
如果你能开源你的软件和源码,我们表示非常感谢。

Who is using MusicXML? 谁在使用MusicXML?

Many conpanies, music software developers and scholars are using MusicXML in their products and research, including:
许多公司,音乐软件的开发者和学者在他们的产品和研究中使用,包括:
以下列表部分翻译跳过,因为主要是公司或软件团体机构等专有名词

  • MakeMusic, including Finale, Allego, PrintMusic, Songwriter, Finale NotePad, and Finale Reader.
  • Sibelius, including Sibelius Student and Sibelius First.
  • Steinberg, including Cubase, Cubase Studio, Nuendo.
  • Recordare, including the Dolet for Sibelius and Dolet for Finale plug-ins.
  • Myriad, including the free Music Plug-in for web browsers, the Mac QuickLook plug-in, PDFtoMusic Pro, Harmony Assistant, Melody Assistant and Melody Player.
  • All the leading music scanning programs, including SharpEye Music Reader, capellascan, SmartScore, PhotoScore, ScoreMaker FX4 and Audiveris.
  • Many tablature editors, including Progression, Guitar Pro, TabEdit, TuxGuitar.
  • IOS notation programs for iPhone and iPad, such as Symphony Pro, Maestro, pocketscore.
  • Sheet music sales systems such as the Legato Sheet Music Viewer.
  • Electronic music stands such as MuseBook Score and OrganMuse.
  • Musicology applications and toolkits such as MelodicMatch and music21.

See our MusicXML software page at www.recordare.com/musicxml/community/software for a more complete list, including links to each application.

What software tools are available? 有什么可用的工具软件么?

One of the great things about basing our work on XML is that there are tools available for practically every computer platform.
将我们的工作建立在XML之上的一个好处是,几乎每个计算机平台都有可用的工具。
At Recordare, we used Microsoft tools for our first generation of Dolet sofrware.
在我们这里,我们使用Microsoft工具来处理第一代Dolet软件。
The original Dolet for Finale plug-in was written in a mix of Visual Basic 6.0 and Visual C++ 6.0, using Miscrosoft’s MSXML parser.
Dolet的源代码就是混合使用Visual Basic6.0和Visual C++ 6.0写的,使用微软MSXML解析。
The Miscrosoft parser is designed to be easy to use within Visual Basic and succeeds admirably.
Miscrosoft解析器设计为易于在Visual Basic中使用,并取得了令人钦佩的成功。
We had great success with it.
我们使用它也获得了成功。
We then rewrote the Dolet for Finale plug-in in Java and C++ so that our software could run on Mac OS X as well as Windows.
我们之后又是哦用Java和C++为Finale重写了Dolet,这样我们的软件就可以运行在Mac OS和Windows平台上。
Many other project are using Java for multiple platform, including Linux.
许多其他项目也正在使用Java适配多平台,包括Linux。
We are using the Xerces parser from the Apache group, as are most of the other Java based MusicXML projects that we know.
我们使用的是Apache组的Xerces解析器,正如我们所知道的大多数基于Java的MusicXML项目一样。
It also works very well for us.
而且对我们也起到了很好的作用。
We have also heard good reports about the Xerces C++ parser.
我们也总是收到良好的关于Xerces C++解析器的反馈。
Other projects use the built-in XML support provided by Flash, Flex and Python.
其他项目使用由Flash,Flex,Python内建的支持库。
If all you want to do is write MusicXML files, not read them, you really don’t need a parser, though you may find it useful.
如果所有你想做的是写MusicXML文件,而不是加载MusicXML文件,那你可能不需要一个解析器,尽管解析器是有用的。
A scanner like SharpEye Music Reader, for instance, does not have any great need to read MusicXML files.
比如,像SharpEye音乐阅读器这样带的扫描器,对于阅读MusicXML文件就没有必要了。
Its MusicXML support is written in C, like the rest of the program, without using any spcial XML tools.
MusicXML支持使用C写的,像程序的其他部分一样,没有使用任何其他特殊的XML工具。
The pae2xml translator is written in Perl.
pae2xml转换器使用Perl写的。
The Dolet 6 for Sibelius plug-in is written in ManuScript.
Sibelius的插件Dolet6是用ManuScript写的。
You can also use XSLT to read and transform MusicXML files.
你也可以使用XSLT来阅读和转换MusicXML文件。
There are many XML sites that can guide you to XML tools beyond what we list here.
当然除了我们在这列举的这些之外还有很多XML站点可以指引到其他XML工具。
If you are using an XML parser, in most cases you will probably be using the XML DOM(Document Object Model) to handle MusicXML files.
如果你正在使用XML解析器,大多情况下你很可能正在使用的是XML DOM来处理MusicXML文件。
Good DOM support is likely to be more important than SAX support for MusicXML programs.
对MusicXML程序来说,良好的DOM支持可能比SAX支持更重要。

Why did you release an XSD for MusicXML 2.0? 对MusicXML2.0来说问什么要发布XSD?

when we started developing MusicXML, a DTD(Document Type Difinition) was the only official W3C recommendation for defining an XML document.
当我们开始开发MusicXML的时候,DTD是创建XML文档唯一符合W3C认证标准。
Since that time, XSD(XML Schema Difinition) has become an official W3C recommendation, and alternative standards like RELAX NG have also become available.
那段时间之后,XSD也成为了W3C官方认证标准,并且像RELAX NG也成为了可用的备选标准。
When XSDs were first released, neither the supporting XSD software nor the state of MusicXML application usage was sufficiently advanced to take advantage of this technology.
当第一次发布XSDs时,支持XSD的软件或者MusicXML应用当时的状态都不能充分发挥这项技术的优势。
XSDs are more complex than DTDs, so it was clear there would be a cost to creating a MusicXML XSD schema.
XSDs比起DTDs更加复杂,所以显而易见,开发新的XSD模式要花费一些时间。
At the time it was also not clear how support would evolve for XSD, RELAX NG and other schema alternatives.
当时,对发展XSD,RELAX NG以及其他备选的模式要怎样支持MusicXML也还清晰。
It thus made sense to stay with DTDs for the releases of MusicXML 1.0 and 1.1.
所以因此MusicXML 1.0和1.1版本的发布还是使用的DTDs。
XSD and MusicXML technology have both matured significantly in the past few years.
XSD和MusicXML在近几年都获得了显著的发展。
Developer tool support for XSDs is now as pervasive as for DTDs.
支持XSDs和开发工具也和DTDs的一样普遍了。
New XML tools such as XQuery and XML data bingding tools can work much better with XSDs than DTDs.
支持XSDS的新XML工具(像XQuery)和XML数据绑定工具比支持DTDs的要更好用了。
While RELAX NG has some advantage over XSDs, its software support is not yet as pervasive as for XSDs.
尽管RELAX NG要比XSDs有很多优势,但是支持他的软件并不想至此XSDs一样普遍。
In addition, MusicXML’s move from an interchange to a distribution format makes it increasingly important to provide the most powerful tools possible for automated quality assurance.
另外,MusicXML从一种交换格式转变成分发格式使得提供一种高质量的自动化工具就显得非常重要。
Validating against an XSD can catch many more errors in XML document creation than validating a DTD.
与验证DTD相比,根据XSD验证在XML文档创建过程中可能会捕获更多错误。
These combined customer needs and opportunities regarding XSDs led us to develop a MusicXML 2.0 XSD that was released in September 2008.
结合了客户对XSD的需求和机会,我们开发了MusicXML 2.0XSD,该产品于2008年9月发布。
The XSD puts much more of MusicXML’s semantics into the language definition itself, rather than just in the documentation.
XSD将MusicXML的更多语义放在语言定义本身中,而不仅仅放在文档中。
Thus there are many documents that validate against the DTD that do not validate against the XSD, but these reflect MusicXML file errors that you do want to catch as early and automatically as possible.
因此,有许多针对DTD进行验证的文档没有针对XSD进行验证,但这影响了尽早自动捕获MusicXML文件错误。
DTDs remain more readable than XSDs for many people.
对许多人来说,DTDs比XSDs依然有更好的可阅读性。
you may find it easiest to read the DTDs, or both in combination.
你会发现阅读DTDs更加简单,两者混用阅读也较为容易。
This will depend on your experience and comfort level with the different technologies.
当然,这也取决于你对这两项技术掌握和经验多少。
The XSDs will generally offer more precise definitions than the DTDs since the format is now much more strongle typed.
XSD通常会提供比DTD更精确的定义,因为现在格式的类型更加稳定。

Why do you use all these elements instead of attributes? 为什么要使用所有这些元素而不是属性?

This is mainly a stylistic decision.
这主要由风格决定的。
Several XML books advise representing semantics in elements rather than attributes where possible.
部分XML书籍建议在可能的情况下用元素而不是属性表示语义。
One advantage of doing this is that elements have structure, but atttibute do not.
这样做的优势是元素有结构,而属性没有。
If you find that what you are representing really has more than one p

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值