u-LAW and A-LAW definitions

[音频]G711编码原理学习及代码 介绍 g711常用在嵌入式方面,采样率为8k。g711 标准下主要有两种压缩算法。一种是u-law,另一种是A-law。两者都是对一个采样进行压缩,区别在于g711-a将13位转换为8位压缩数据,g711-u将14位转换为8位压缩数据。 压缩比固定为: 8/14 = 57% (uLaw) 8/13 = 62% (aLaw) 但事实上写代码的时候,常常将16位转换位8位。压缩比为50% 测试一... 阅读详情

u-LAW and A-LAW definitions A-law and u-law are companding schemesused in telephone network to get more dynamics to the 8 bit samplesthat is available with linear coding. Typically 12..14 bit samples(linear scale) sampled at 8 kHz sample are companded to 8 bit(logarithmic scale) for transmission over 64 kbit/s data channel.In the receiving end the data is then converter back to linearscale (12..14 bit) and played back. converted back u-law definitionu-LAW (pronounced mu-LAW) is

u-LAW <wbr>and <wbr>A-LAW <wbr>definitions

a-law definition A-LAW is

u-LAW <wbr>and <wbr>A-LAW <wbr>definitions

Values of u=100 and 255, A=87.6, mp is the Peak message value, m isthe current quantised message value. (The formulae get simpler ifyou substitute x for m/mp and sgn(x) for sgn(m); then -1<= x <= 1.) Converting from u-LAW toA-LAW is in a sense "lossy" since there are quantizing errorsintroduced in the conversion. "..the u-LAW used in North Americaand Japan, and the A-LAW used in Europe and the rest of the worldand international routes.." References: Modern Digital and AnalogCommunication Systems, B.P.Lathi., 2nd ed. ISBN 0-03-027933-XTransmission Systems for Communications, Fifth Edition, by Membersof the Technical Staff at Bell Telephone Laboratories, BellTelephone Laboratories, Incorporated, Copyright 1959, 1964, 1970,1982

Read more at: 
http://www.epanorama.net/documents/telecom/ulaw_alaw.html



A-Law算法实现PCM压缩 A律算法 uLaw PCM音频压缩 A-Law算法实现PCM压缩,用于把16bit的wav音频数据压缩成8bit,能大大的降低传输带宽。压缩噪音小,非常高效的一个算法。 立即下载

相关推荐

G711编码原理ppt

G711编码原理ppt,介绍ulaw,alaw编码原理

g.711 音频编码

     关于a law  and u law 定义如下:A律编码是ITU-T(国际电信标准局)定义的关于脉冲编码的一种压缩/解压缩算法。世界上大部分国家采用A律压缩算法(包括中国)。美国采用u 律算法进行脉冲编码。其英文定义大致如下:A-law and u-law are companding schemes used in telephone network to get more dyn

8588

G711 Alaw,Ulaw, G721, G723编解码

G711 Alaw,Ulaw, G721, G723编解码的典型源码, 很简单可以直接拿来用。

alaw与ulaw编码转换与静音检测

#include "stdafx.h" #define SMP_MOD 0x84 #define MASK 32635 unsigned char __ant_lin2mu[16384]; short __ant_mulaw[256]; static unsigned char _Linear2Ulaw(short p_val) { static int exp_lut[25

wangwenwen的专栏 8961

G711编解码,alaw、ulaw与PCB相互转换

G711编码、解码的几种方式;alaw与ulaw的相互转换;alaw与PCB相互转换。

C#实现串口通讯程序

1、自动获取本地串口。2、根据传入串口基本属性参数打开串口。3、串口数据的发送接收功能(ASCII和HEX格式)。4、ASCII和HEX相互转换。csharp体验AI代码助手代码解读复制代码[Category("UserProperty")] [Description("轮廓半径")] public int Radius { get => radius;

2401_89221445的博客 1766

基于贾子理论与THL-5真理硬度标准的概率拟合大模型结构性破产必然性研究

摘要 本研究基于贾子理论与THL-5真理硬度标准,对概率拟合大模型的结构性破产必然性进行了深入分析。当前以Transformer架构和自回归令牌概率预测为核心的概率拟合大模型,通过海量数据统计关联分析生成内容,而非基于公理体系的因果逻辑推演。研究发现,该技术路径的边际效益正快速衰减:算力、数据和模型规模呈指数级扩张,但实际性能提升有限,投入产出比严重失衡。 通过全球头部企业财报和行业实测数据,本文从技术逻辑、成本结构和商业变现等维度证明:概率拟合大模型存在成本指数增长与营收线性增长的不可逆矛盾,企业净现金流

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1341

智能车竞赛飞檐走壁组赛道制作全攻略:从电磁线铺设到立体元素搭建

本文提供了智能车竞赛飞檐走壁组赛道制作的完整指南。从电磁线选材、电流控制与精准铺设等基础入手,详细解析了垂直墙面、圆筒、跷跷板等核心立体元素的构建技巧与过渡处理。重点分享了确保赛道稳定、符合规则且便于调试的实战经验,帮助参赛队伍搭建可靠的立体赛道,为车模算法调试奠定坚实基础。

weixin_29292535的博客 1289

数学分析和高等代数自学教材推荐

……

u013669912的博客 1163

基于LSTM语义分析的企业风险预测系统

在数字化时代,企业面临着前所未有的挑战和机遇,而风险管理作为确保企业稳定发展的关键一环,其重要性日益凸显。为了及时、准确地监测和分析企业相关的风险,并预测可能带来的风险,本文介绍了一种基于长短期记忆(LSTM)语义分析的企业风险预测系统。该系统利用深度学习技术,通过将收集到的企业数据进行预处理和分析,结合LSTM模型对文本进行深度语义分析,从而实现对潜在风险的预测和评估。系统设计方面,该系统包括数据预处理、LSTM模型构建与训练、风险预测以及可视化展示等模块。

qiufangtaowvnyyidtf的博客 1392

告别虚拟机!在Windows上用WSL+VSCode搞定ArduPilot开发环境(保姆级避坑指南)

本文提供了一份详细的保姆级指南,介绍如何在Windows上使用WSL和VSCode搭建高效的ArduPilot开发环境,告别虚拟机性能损耗。从WSL安装、VSCode配置到ArduPilot固件编译和调试技巧,涵盖开发全流程中的关键步骤和常见问题解决方案,帮助无人机开发者快速构建专业级开发环境。

weixin_42543046的博客 461

MuleSoft+LLM企业级AI集成:构建可审计、可治理的AI编排中枢

大语言模型(LLM)在企业落地的核心瓶颈,从来不是算力或模型能力,而是如何与SAP、Salesforce、ServiceNow等异构系统安全、可靠、可审计地深度集成。这本质上是一个API治理与语义编排问题——需要强契约保障的数据转换、跨协议的统一认证、全链路可观测性及符合SOX/GDPR的审计留痕。MuleSoft作为成熟的企业级API管理与集成平台,凭借DataWeave数据编织、Policy驱动的安全控制、Anypoint Monitoring追踪能力及Runtime Fabric私有化部署支持,天然适

dingdi3021的博客 310

Windows下QT5.15.2安装MQTT模块全攻略(附分支选择避坑指南)

本文详细介绍了在Windows环境下为QT5.15.2安装MQTT模块的完整流程,包括环境准备、源码获取、编译配置及项目集成等关键步骤。特别针对分支选择、依赖项处理和常见错误提供了实用解决方案,帮助开发者高效完成MQTT模块的安装与调试,适用于物联网开发场景。

weixin_29224589的博客 466

构建高精度Google搜索AI Agent:Gemini 3.0多跳推理实战

AI Agent 是一种具备目标分解、工具调用与状态记忆能力的智能系统,其核心原理在于将用户意图转化为可执行动作序列,并通过多轮反馈闭环验证结果。相比传统Prompt工程,现代Agent依赖模型原生支持的tool calling与stateful memory机制,显著提升任务可靠性与抗幻觉能力。技术价值体现在对复杂查询(如跨年份数据比对、多源信息融合)的自主拆解与精准执行,广泛应用于智能客服、竞品分析、学术调研等需高事实准确性的场景。本文聚焦Gemini 3.0驱动的Google Search AI Ag

weixin_33739541的博客 411

爬虫实战:拆解WASM加密参数,破局2026电商动态接口反爬(实测某头部电商可用)

sign和wasm_token,而且每次请求这两个参数都在动态变化。用常规的参数拼接、MD5加密尝试还原,结果全是403;反编译前端JS,发现核心加密逻辑被打包成了.wasm,把关键参数加密、签名逻辑藏在二进制模块里,让爬虫无法直接逆向JS拿到加密规则。前后折腾了5天,从WASM文件解析、JS与WASM交互逻辑拆解,到本地还原加密参数、实战验证,踩了无数坑(比如WASM版本不兼容、内存数据读取失败、加密依赖环境缺失),最终成功还原了加密流程,稳定爬取商品详情、价格、销量等核心数据,连续运行72小时无封禁。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1913

深度学习实战103-基于KDD Cup 99数据集的搭建神经网络的检测系统(NIDS),通过对网络流量数据进行分析,提供完整代码

接下来,我们定义一个全连接神经网络模型。return x# 创建数据集和数据加载器# 初始化模型通过以上步骤,我们实现了一个基于PyTorch的简单网络入侵检测系统。这个系统使用KDD Cup 99数据集进行训练和评估。实际应用中,您可以根据需求调整模型结构、超参数以及数据预处理方法。希望对大家有所帮助!如果有任何问题或需要进一步的解释,请随时咨询。

微学AI的博客 1582

音频压缩算法ALaw,uLaw

原文链接:http://www.sohu.com/a/147745747_464086 A-Law A-Law的编码公式如下: 其中x为输入,F(x)为编码结果,A为压缩参数一般取值为87.6 . A-Law解码公式,也就上述函数的反函数如下: 其中y为上述函数的结果编码. u-Law详解 uLaw的编解码公式分别如下:

wzying25的博客 1万+

【网络与爬虫 62】小程序爬虫终极攻略:微信支付宝小程序数据采集完全指南

本文深入解析微信和支付宝小程序的爬虫技术,从基础架构分析到高级逆向工程,涵盖WXML/AXML模板解析、API接口拦截、网络流量分析等核心技术。通过实战案例和代码示例,帮助开发者掌握小程序数据采集的完整技术栈。

熵数实验室 3418

a-law原理及算法实现

最近因为项目的原因需要将16bits的pcm信号编码成8bits样本进行传输,在网上查了下,有基于G.711标准的两种算法(A-law, u-law),现将原理及代码介绍如下: 介绍: G711 也称为PCM(脉冲编码调制),是国际电信联盟订定出来的一套语音压缩标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个64Kbps未压缩通道传输语音讯号。起压缩率为1:...

lhm的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

G.711 A律 U律

将16bits的pcm信号编码成8bits样本进行传输有基于G.711标准的两种算法(A-law, u-law)A律压缩相对来说较简单。将一个16bit数压缩为8bit,保留最高位为符号位,87bit为段内码。u律压缩取每个prb的i,q数据最大值,然后根据最大值判断移位,再根据压缩bit数及i,q值的大小做相应的移位处理。

u012678323的专栏 3921

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

PCM音频压缩A-Law算法,uLaw

参考相关:“关于pcm音频头与a-law音频头的互换代码” http://blog.youkuaiyun.com/fjhyy/article/details/6593049 https://baike.baidu.com/item/A%E5%BE%8B/5923040 http://www.sohu.com/a/147745747_464086 背景:正在做的一个项目,需要网络传输音频,音频格式

wzying25的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

音频处理——G711标准详解

目录G711简介G711A算法原理压缩方法举例代码G711U算法原理压缩方法举例代码G711A与G711U对比 G711简介   G711是国际电信联盟ITU-T定制出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation)抽样标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个 64Kbps 未压缩通道传输语音讯号。 起压缩率为1:2, 即把16位数据压缩成8位。G.711是主流的波形声音编解码器。   G.711 标准下主

路人coder 2万+

G.711 音频编码

目录 参考 概述 G.711原理 总结 1. 参考 [1] wikipedia/A-law_algorithm [2] github.com/quatanium/foscam-ios-sdk [3] charybdis/G711算法学习 2. 概述 本文目的:1、熟悉G711a/u两种格式的基本原理2、熟悉两种压缩算法的实现步骤及提供源码实现 G.711是国际电信联盟ITU-T定制出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation

EmbeddedCoder 的优快云博客 4114

音视频编解码——μ律(Mu-law)和A律(A-law)

μ律(Mu-law)和A律(A-law)是两种非线性量化方法,常用于脉冲调制编码(PCM)中的音频信号压缩。它们在不同的地区和应用中使用,具有类似的原理但略有不同的特性。一、μ律(Mu-law)和A律(A-law)原理:μ律(Mu-law):μ律是一种非线性压缩方法,最初由贝尔实验室开发用于电话系统。它主要在北美和日本等地使用。μ律量化方法在低信号强度区域提供更高的量化精度,而在高信号强度区域提供较低的量化精度。这意味着较小的信号值将被更多的量化级别表示,而较大的信号值将被较少的量化级别表示。

qq_42233059的博客 9079

这么讲音频算法,真是人人都能懂

这一章开始介绍一些算法相关的内容.前面有几章对播放强调较多,这期本来想写录音方面的内容.但是普通的麦克风电路主要是模拟电路,独立做一章来写觉得内容有点少,所以会在其他章节穿插介绍.至于MEMS麦克风,因为涉及到PDM解码,可以在后面做独立一章来写. 点击链接加入群【嵌入式音频信号处理】:https://jq.qq.com/?_wv=1027&k=45wk8Ks 嵌入式音频专用资料代...

hnzwx888的专栏 4863

语音基础知识

音频相关知识

小黑的博客 4894
上一篇: 模拟电视信号介绍
下一篇: PCI中的base address
Tigeresta
博客等级 码龄17年 26粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值