﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-JACKY_ZZ[猫猫爱吃鱼]-随笔分类-C/C++</title><link>http://www.cppblog.com/jackyxinli/category/9468.html</link><description>春风拂面两颊红，秋叶洒地一片金。
夏荷摇曳一身轻，冬雪覆盖大地银。</description><language>zh-cn</language><lastBuildDate>Sun, 21 Dec 2014 01:54:00 GMT</lastBuildDate><pubDate>Sun, 21 Dec 2014 01:54:00 GMT</pubDate><ttl>60</ttl><item><title>[C/C++] 音频文件频谱</title><link>http://www.cppblog.com/jackyxinli/archive/2012/03/06/167257.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Tue, 06 Mar 2012 10:04:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2012/03/06/167257.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/167257.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2012/03/06/167257.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/167257.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/167257.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2012/03/06/167257.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/167257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2012-03-06 18:04 <a href="http://www.cppblog.com/jackyxinli/archive/2012/03/06/167257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] 基于mplayer的开发（开源啦）</title><link>http://www.cppblog.com/jackyxinli/archive/2011/02/09/139852.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Wed, 09 Feb 2011 15:36:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2011/02/09/139852.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/139852.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2011/02/09/139852.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/139852.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/139852.html</trackback:ping><description><![CDATA[请访问<a href="http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html">http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html</a> <br />或者<a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=86674">http://www.hydrogenaudio.org/forums/index.php?showtopic=86674</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/139852.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2011-02-09 23:36 <a href="http://www.cppblog.com/jackyxinli/archive/2011/02/09/139852.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] 基于mplayer的开发</title><link>http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Mon, 10 Jan 2011 09:57:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/138292.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/138292.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/138292.html</trackback:ping><description><![CDATA[<p>在windows下，搭建MinGW+MSYS环境，基于mplayer的源码进行修改后，做出了自己的GUI界面，修改后运行的界面如下。<br />【主界面】<br /><img alt="" src="http://www.cppblog.com/images/cppblog_com/jackyxinli/main.gif" border="0" height="200" width="411" /><br />【均衡器】<br /><img alt="" src="http://www.cppblog.com/images/cppblog_com/jackyxinli/equalizer.gif" border="0" height="206" width="680" /></p>
<p>修改部分：</p>
<p>1、增加频谱显示；</p>
<p>2、增加数码管数字显示（创建了一个STATIC窗口，重新指定窗口过程重绘窗口）；</p>
<p>3、增加Media Player 11进度条显示（创建了一个STATIC窗口，重新指定窗口过程重绘窗口）。<br /><br />4、增加均衡器（10段）。<br /><br />以上部分的修改完全纯C开发，仅频谱绘图部分是原来的C++代码封装为dll后，导出C函数在mplayer里调用实现。</p>
<a href="http://www.cppblog.com/Files/jackyxinli/mplayer.part1.rar">文件1</a>&nbsp;<a href="http://www.cppblog.com/Files/jackyxinli/mplayer.part2.rar">文件2</a> <a href="http://www.cppblog.com/Files/jackyxinli/mplayer.part3.rar">文件3</a> <br /><a href="http://www.cppblog.com/Files/jackyxinli/2011-02-10-open.zip">源码下载</a> <br />请先阅读压缩包里的文件&#8220;请先读我.txt&#8221;。<img src ="http://www.cppblog.com/jackyxinli/aggbug/138292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2011-01-10 17:57 <a href="http://www.cppblog.com/jackyxinli/archive/2011/01/10/138292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] vole使用的简单例子</title><link>http://www.cppblog.com/jackyxinli/archive/2010/12/07/135669.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Tue, 07 Dec 2010 03:02:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2010/12/07/135669.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/135669.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2010/12/07/135669.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/135669.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/135669.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: stdafx.h&nbsp;1&nbsp;#pragma&nbsp;once&nbsp;2&nbsp;&nbsp;3&nbsp;#include&nbsp;"targetver.h"&nbsp;4&nbsp;&nbsp;5&nbsp;#include&nbsp;&lt;stdio.h&gt;&nbsp;6&nbsp;#include&nbsp;&lt;tchar.h&gt;&nbsp;7&nb...&nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2010/12/07/135669.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/135669.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2010-12-07 11:02 <a href="http://www.cppblog.com/jackyxinli/archive/2010/12/07/135669.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] 基于Ffmpeg解码器的简单播放器(a simple audio player based on Ffmpeg)</title><link>http://www.cppblog.com/jackyxinli/archive/2010/04/12/112294.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Mon, 12 Apr 2010 02:43:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2010/04/12/112294.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/112294.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2010/04/12/112294.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/112294.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/112294.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是一个基于Ffmpeg解码器的简单播放器，怎么在Windows上编译Ffmpeg可以在网上找到很多，开发环境是Windows XP SP3+VS2008，其中DirectSound控制单元来自jdk1.6源码。我的Ffmpeg编译环境是MSYS+MinGW，GCC版本为4.4.0，采取静态无DEBUG方式编译，得到libavcodec.a、libavformat.a和libavutil.a三个静...&nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2010/04/12/112294.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/112294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2010-04-12 10:43 <a href="http://www.cppblog.com/jackyxinli/archive/2010/04/12/112294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] ffmpeg小试</title><link>http://www.cppblog.com/jackyxinli/archive/2009/11/24/101835.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Tue, 24 Nov 2009 09:44:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2009/11/24/101835.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/101835.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2009/11/24/101835.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/101835.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/101835.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 此代码在vs2008下编译，基于最新的ffmpeg版本（svn下载），搭建MSYS+MinGW编译环境编译，如何搭建，在google上能搜索到。 源码可在此下载。但除了aac和ogg格式播放出错，其余格式正常，不知为何，有ffmpeg开发经验的朋友请给予帮助，谢谢。代码贴于下方。&nbsp;&nbsp;1#include&nbsp;&lt;stdio.h&gt;&nbsp;&nbsp;2#in...&nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2009/11/24/101835.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/101835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2009-11-24 17:44 <a href="http://www.cppblog.com/jackyxinli/archive/2009/11/24/101835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] 自己的mp3播放器【带频谱】</title><link>http://www.cppblog.com/jackyxinli/archive/2009/02/04/72950.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Wed, 04 Feb 2009 01:22:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2009/02/04/72950.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/72950.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2009/02/04/72950.html#Feedback</comments><slash:comments>54</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/72950.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/72950.html</trackback:ping><description><![CDATA[<img src="http://www.cppblog.com/images/cppblog_com/jackyxinli/002.gif" border="0"  alt="" /><br />开发了有一段时间了，说来还真是很长时间了。有兴趣可以参考我在Codeproject上发布的三篇文章。 <br /><a href="http://www.codeproject.com/KB/audio-video/DSound_Spectrum.aspx" target="_blank"><u>http://www.codeproject.com/KB/audio-video/DSound_Spectrum.aspx</u></a><wbr> <br /><a href="http://www.codeproject.com/KB/audio-video/DirectSound_Spectrum2.aspx" target="_blank"><u>http://www.codeproject.com/KB/audio-video/DirectSound_Spectrum2.aspx</u></a><wbr> <br /><a href="http://www.codeproject.com/KB/audio-video/DSound_Spectrum3.aspx" target="_blank"><u>http://www.codeproject.com/KB/audio-video/DSound_Spectrum3.aspx</u></a><wbr> <br />以上三篇文章或多或少都存在一些问题，其中最普遍的问题是频谱显示的并不是实时（real-time）的。但截图显示的这个版本是准确的了（我认为）。源码还在整理中，整理完毕后即发布到Codeproject上。 <br /><br />实现思路： <br />1、MP3解码由libmad开源解码库完成； <br />2、两个线程：播放线程，频谱线程，其中频谱线程使用的数据来自播放线程； <br />3、播放线程总是通过解码器获取4608字节数据，为什么要这个数字？这个是看了网上的相关文档和自己不断的测试得到的，这个数据可以有效的降低因为声卡回放引入的延时，少于这个数字将播放不正常； <br />4、频谱线程根据当前播放的时间获取到正在播放的PCM数据，使用FFT计算后绘图显示。<wbr><br /><br />版本历史：<br />2009-02-08：支持拖拽，mp3,wma,ogg,wav支持，支持拖拽音频文件到exe启动播放&nbsp;<br />2009-02-09：BUG修复：在单CPU上出现线程死锁，在双CPU上未出现 <br />2009-03-27：支持APE格式<br />2009-03-30：支持FLAC格式&nbsp;<br />2009-05-04：添加暂停、停止操作，结束一直以来朋友们提出没有暂停和停止操作的历史<br />2009-05-05：为播放、暂停、停止，退出操作添加系统热键，分别为Ctrl+1、Ctrl+2、Ctrl+3、Ctrl+4<br />2009-05-06：为播放、暂停、停止，退出操作添加系统热键， 分别为A、D、S、X，即按A或Ctrl+1为播放，D或Ctrl+2为暂停，S或Ctrl+3为停止、X或Ctrl+4为退出<br /><br /><a href="http://www.cppblog.com/Files/jackyxinli/AudioPlayer_20090506065.zip">最新版本下载</a><br />=======================================================<br />it's&nbsp;a long story to tell about this article, if you are interest in this project, please visit those three articles were posted on codeproject.<br />http://www.codeproject.com/KB/audio-video/DSound_Spectrum.aspx<br />http://www.codeproject.com/KB/audio-video/DirectSound_Spectrum2.aspx<br />http://www.codeproject.com/KB/audio-video/DSound_Spectrum3.aspx <br />those three atticles have some bugs, and the main problem is spectrum display what is not real-time. but this version is real-time(i think). <br />the latest version support mp3, wma, wav, ogg, ape, flac now,&nbsp; and you can download it with this link: <a href="http://www.cppblog.com/Files/jackyxinli/AudioPlayer_20090506065.zip">AudioPlayer_20090506065.zip</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/72950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2009-02-04 09:22 <a href="http://www.cppblog.com/jackyxinli/archive/2009/02/04/72950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] union再探</title><link>http://www.cppblog.com/jackyxinli/archive/2007/08/07/29490.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Tue, 07 Aug 2007 08:45:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2007/08/07/29490.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/29490.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2007/08/07/29490.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/29490.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/29490.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这里将再次对UNION进行一些小小的探究，思路来源于MFC中消息函数执行过程中的一些疑问。union初探初步阐述了union与struct的一些区别，以及相应的使用方法，这里将以此为基础，以类的方式进一步对union的运用方法进行一点说明。&nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2007/08/07/29490.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/29490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2007-08-07 16:45 <a href="http://www.cppblog.com/jackyxinli/archive/2007/08/07/29490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[C/C++] union初探</title><link>http://www.cppblog.com/jackyxinli/archive/2007/08/06/29442.html</link><dc:creator>jacky_zz</dc:creator><author>jacky_zz</author><pubDate>Mon, 06 Aug 2007 09:31:00 GMT</pubDate><guid>http://www.cppblog.com/jackyxinli/archive/2007/08/06/29442.html</guid><wfw:comment>http://www.cppblog.com/jackyxinli/comments/29442.html</wfw:comment><comments>http://www.cppblog.com/jackyxinli/archive/2007/08/06/29442.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/jackyxinli/comments/commentRss/29442.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jackyxinli/services/trackbacks/29442.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这几天在看MFC深入浅出，看到一个union的定义，代码如下：&nbsp;&nbsp;1union&nbsp;MessageMapFunctions&nbsp;&nbsp;2{&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;AFX_PMSG&nbsp;pfn;&nbsp;&nbsp;&nbsp;//&nbsp;generic&nbsp;member&nbsp;func...&nbsp;&nbsp;<a href='http://www.cppblog.com/jackyxinli/archive/2007/08/06/29442.html'>阅读全文</a><img src ="http://www.cppblog.com/jackyxinli/aggbug/29442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jackyxinli/" target="_blank">jacky_zz</a> 2007-08-06 17:31 <a href="http://www.cppblog.com/jackyxinli/archive/2007/08/06/29442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>