当前位置: 首页 > news >正文

【Advanced Windows Phone Programming】在windows phone 8中解码mp3 和编码pcm

转眼间不做wp开发,投身于php事业已然一年了,转身看到8.1的发布,俨然一片欣欣向荣的景象,但是开发社区却没比一年前有过多大的提高,这并不是一个好现象,遂在git上开源了之前音频处理库,希望能对社区有所贡献,地址如下:https://github.com/sandcu/wpaudio 觉得有用的同学请在git上点个星,好让更多的同学看到,下面开始正文。

用到的三方的库主要有两个,一个是mad一个是lame,lame的编译请参考上篇文章,mad直接编译即可,工程rebuild的过程是先编译libmad工程,然后编译audio工程,因为audio工程有对libmad的一个引用,最后编译主工程即可。

demo的使用流程是:

1.先解码一个内置的mp3文件至一个pcm文件,

2.使用内置的PCMStreamPlayer来播放pcm文件,证明解码成功,注意PCMStreamPlayer和录音一样,依然需要引用xna的service,所以大家会看到根目录下有个叫做xnaservice.cs的东西,然后记得在app.xaml里启用service

 3.用lame编码刚才解码的pcm文件至一个mp3文件

4.用mediaelement来播放刚才编码成功的mp3文件以证明编码成功。

 

 

然后来说一下使用这个库我们能做什么:

1.用lame来做音频文件的重采样和压缩

2.用libmad解码mp3文件至pcm,这样我们就可以做一些音效处理,包括混音变音之类的

3.更自由的音频播放器

 

最后

欢迎大家对其做出各种各样的改进,用力的在git上提出各种issue。

 

 

转载于:https://www.cnblogs.com/bader/p/3719153.html

相关文章:

  • JavaScript创建对象(五)——动态原型模式
  • Asp.Net Mvc + ComBoost.Mvc快速开发
  • Laravel Mix运行时关于es2015报错解决方案
  • 建站初级指南
  • 一个ViewGroup#dispatchDraw()中的NP分析
  • LINUX命令 cp: omitting directory 出现的问题解决办法
  • 枚举类的简单应用
  • 手把手教你启用Win10的Linux子系统(超详细)
  • [转载]C# Double toString保留小数点方法
  • 自动化部署打破混乱之墙 助力开发、运维、测试协同作战
  • spring restTemplate 上传数据流/字节数组
  • Windows下leapmotion中touchless的使用
  • Session丢失的问题!(转)
  • 架构探险笔记4-使框架具备AOP特性(上)
  • QT 字符串相等间距字符间增加字符
  • [译]Python中的类属性与实例属性的区别
  • __proto__ 和 prototype的关系
  • 【刷算法】求1+2+3+...+n
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • C++入门教程(10):for 语句
  • download使用浅析
  • Git同步原始仓库到Fork仓库中
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js写一个简单的选项卡
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • PV统计优化设计
  • storm drpc实例
  • Swift 中的尾递归和蹦床
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 缓存与缓冲
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用权重正则化较少模型过拟合
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 最近的计划
  • #vue3 实现前端下载excel文件模板功能
  • (1) caustics\
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (论文阅读40-45)图像描述1
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Standard 的管理策略
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net网站发布-允许更新此预编译站点
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • //解决validator验证插件多个name相同只验证第一的问题
  • @RestController注解的使用
  • [android] 练习PopupWindow实现对话框
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)