【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。

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

时间: 2024-07-29 14:52:23

【Advanced Windows Phone Programming】在windows phone 8中解码mp3 和编码pcm的相关文章

用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版--------------------------------------------------------- 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DLL制作而成. 安装之后,直接就可以用了. 省心省事.不必再单独的打一次补丁包了. 本安装包和补丁包一样都删除了

Windows Graphics Programming Win32 GDI and DirectDraw第六章疑问

<Windows Graphics Programming Win32 GDI and DirectDraw>6.1节中有这样的描述: The Windows NT/2000 graphics engine uses signed fixed-point numbers to represent coordinates, having a 4-bit fraction part and a 28-bit signed integer part. Points with negative coo

玩转Windows服务系列&mdash;&mdash;给Windows服务添加COM接口

当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候,我们应该怎么做呢? 快速给Windows服务添加实时交互功能的方案 Windows服务是一个进程,而我们用于交互的程序,又是另外一个进程.我们与Windows服务实时交互,其实就是一个进程间通信的问题.所有的进程间通信的方案基本上都适用于实时交互的方案,比如Socket.共享内存.管道.COM等.

在windows 2003 sp2 或者 2008 rac环境中,可能会由于默认的SNP( Scalable Networking Pack)特性会导致 实例驱逐或者节点驱逐

在windows 2003 sp2 或者 windows 2008 rac环境中,可能会由于默认的SNP( Scalable Networking Pack)特性会导致 实例驱逐或者节点驱逐 参考原文: RAC on Windows: Recurring Instance and/or Node Evictions May Be Caused by Default SNP Features Available for Windows Server 2003 SP2 and 2008 (Doc I

走进windows编程的世界-----windows进程

Windows进程  1 Windows进程    进程是一个容器,包含了一个应用程序实例的各种资源.Windows多任务的操作系统,因此可以同时执行多个进程.      2 Windows进程的一些特点    2.1 进程中包含了执行代码等资源.    2.2 进程都具有私有的地址空间.    2.3 每个进程都有一个ID,标识进程.    2.4 每个进程都有自己的安全属性    2.5 至少要包含一个可以执行的线程.    二 进程的环境 1 环境信息的获取    获取:    LPVOI

Windows客户端迁移(windows轻松传送)

对于桌面支持来说,每次重装系统或是换机器时,数据备份是一个头痛的问题,尤其是邮件,不但有邮件还有一堆联系人,还有一堆规则,这是个让人很头痛的问题,前段时间,看了微软TechNet上面的一个关于windows 7部署的教程,知道了一个叫windows 轻松传送的工具,正好这两天单位换电脑,于是就试了一下,效果不错.电脑原先是windows XP的,所以要安装一个windows轻松传送,安装方法我就不说了,很简单的,软件下载地址:http://www.microsoft.com/zh-cn/down

Windows打印体系结构之Windows内置打印驱动程序

时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的. 1.3.4.Windows内置打印驱动程序 现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Printer Driver).XPS打印机驱动程序(XPSDrv).微软通用打印机驱动程序(Microsoft UniversalPrinter Driver).微软PostScript打印机驱动程序(Microsoft PostScriptPrinter Driver)和微软绘图仪驱动程序(Micr

Windows技巧|如何在Windows 10在锁屏状态下打开某种应用程序?

本文标签:    电脑技巧 Windows技巧 Win10的锁屏界面 互联网杂谈 在Win10的锁屏界面,右下角有三个图标,中间有个像时钟的图标就是所谓的"轻松使用"按钮,里面有讲述人.放大镜.屏幕键盘等功能,这些功能我们可以修改成我们常用的应用程序,这样将大大的方便我们的操作,那么该如何修改呢? 默认情况下在锁屏界面点击右下角中间的图标会弹出"轻松使用"菜单 具体方法如下: 1.在Cortana搜索栏输入regedit,按回车键进入注册表编辑器; 2.定位到:HK

用Windows SteadyState来保护Windows系统安全,实现磁盘保护

1.Windows SteadyState简介 Windows SteadyState可防止计算机的设置被更改,可防止某些用户自行安装不需要的软件,可以实现Windows 磁盘保护功能,还提供了磁盘保护功能的API编程接口,完全可以媲美影子系统(PowerShadow). 2.下载安装Windows SteadyState 中文版下载地址: http://www.microsoft.com/downloads/details.aspx?familyid=D077A52D-93E9-4B02-BD