旭东's profile东东的家PhotosBlogListsMore Tools Help

Blog


    June 29

    面对酷暑,大家应该少上网,多参加社会活动

    连日来气温有升无降,北京气温更超过40度大关,用电负荷1184万千瓦创入夏新高。炙热的空气是如此凝重,仿佛要将世界的一切都毁灭殆尽,而用电又是如此紧张,我们的相关部分在承受着巨大的供电压力,面对如此严峻的形势,身为守法公民,身为中华好儿女,我们不应袖手旁观,我们有义务也有能力为祖国做出自己应有的贡献。 

    但是,身为一名程序员,我们仅仅是社会中最底层最微不足道的一份子,我们又能为国家做些什么呢?

    答案很简单,既然司机同志们能够自觉自愿地按照尾号而“每周少开一天车”来严格要求自己,那么,我们这些程序员当然也可以通过“每周少上一天网”来减少社会资源的压力,为祖国的建设添砖加瓦了。 


    要知道,每生产一部个人电脑需要相当于电脑重量十倍的矿物燃料和与其自重相仿的化学品,包括对人体有害的物质。相比之下,生产汽车和冰箱所需的矿物燃料只是其自重的一倍和两倍。而且全球目前每年要出售一亿三千万多部电脑,其大量能源消耗以及被废弃的电脑对环境和人体健康构成很大的威胁,就在此时此刻,因计算机问题而产生的各种废弃品也正在向土壤和地下水中不停的释放有毒物质。 

    不止如此,互联上的错综复杂的内容,也极大的毒害着我们纯真的心灵。远的不说,仅以近期焦点访谈中高也同学的个人经历而言,我们也十分有必要减少对于互联网的依赖,以至最终彻底杜绝这类丑恶现象的发生。

    哎!身为一名程序员,每每想到这些事情,我都不禁痛心疾首,自怨自艾起来。设想下,如果没有我们,没有网络,纵使社会将有小小的不便,但总体来说,我们的祖国将是多么的繁荣富强啊!祖国的青少年们将是多么纯真善良啊!

    然而,为了我们这些人的个人利益,为了能给我们找份工作,祖国竟然一直容许着我们的存在,而每每主动替我们打扫那些因为我们而产生的不良信息,想到此处,我不禁潸然泪下。

    庆幸的是,我国民众的眼睛是雪亮的,最新的网络民意调查格式被以新华及搜狐网为首的正义媒体所广泛采用,[ 完全赞成封杀google] ,即反对以google为代表的互联网不良信息率达到乃至超过了100% !具体请看下图:

    00

    天佑中华!俗话说得好啊,“自古奸佞倾社稷!岂有文章覆乾坤? ”,“从来大奸大恶辈,必是道貌岸然人”,可惜无论google多么狡诈,多么的蒙蔽群众,在我国正义的新闻及网络媒体面前始终不堪一击,终将自取灭亡。

    然而,毕竟现今我们还在从事这低贱的营生,从事这有可能令某些人人心神不宁的活动,如果我们也仅仅学习“少开一天车”而“少上一天网”,那么每周也不过一天,零零散散的看不出的网络环境改善的实际效果,更不足以弥补当下那巨大的用电空缺。

    因而鄙人将参考“少开一天车”的精神,而进一步发扬光大,聚零为整,化有限为无限——改“每周少上一天网”为“每年少上一月网”,进而“每年少上半年网”,直至实现“永远不再使用互联网及计算机”的伟大进步。

    在这段时间内,为了尽可能减少互联网带来的已知及潜在危害,鄙人将采取“四不两没有一可能”的原则使用计算机,也就是——

    面对有史以来最酷热的季节,无论是工作中或者生活中我都要做到“不关心一切网络事件、不浏览一切网络新闻、不排除一切网络故障、不开发一切网络程式——总之在这段时间内,就当世界上压根没有互联网及电脑这种东西,更没有必要帮助任何人或单位使用及接触互联网与电脑这种东西,相反可能会采取积极行动阻止身边的人或单位接触互联网及电脑 ”。

    在以CCTV为代表的进步媒体的言传身教下,我意识到,在拥有世界上最强大网络防火墙及极品过滤软件的我国,即便我们这些蹩脚程序员全部歇业乃至统统滚蛋,也不会对社会产生任何不好的影响,相反会更加有利于社会的建设与发展。

    在这些供电紧张的日子里,我们这些可有可无的废人,应该要——也有必要少看那些很黄很暴力的画面,少接触那些很傻很天真的信息,少受别有用心者的挑拨与利用;应该要——也有必要放弃上网及操作计算机的恶行,转而走上大街,多与同龄人聚会,多与大众沟通,多接触及团结进步青年,多关心时事,积极参与社会实践,为祖国的现代化事业添砖加瓦。

    这样,我们就不会心神不宁的无所是从了,更不会沦落为不明真相的一小撮而不能自拔了,一言以括之——与其宅在家里,不如宅在街上。

    ___________________________________________________________________

    系统自动生成的免责声明:


    以上文章为[Java版文章自动生成系统]自动生成,软件作者利用Java Bot技术实现网站自动录入,全程无人为参与。其中符号、标点及中文语句皆为Random方式由自然语法库中检索采集而成。本文的诞生完全依赖于Java 平台及其衍生物[Java版文章自动生成系统],因而本文观点不能代表软件作者实际观点,软件作者使用此文更不代表软件作者支持或反对文中涉及内容,本文 仅作为但不限定于[Java版文章自动生成系统]使用示例之用。


    软件作者将不对此文承担任何责任与义务,如有异议,请与Java平台供应商Oracle-Sun取得联系。


    系統自動生成的免責聲明: 

    以上文章為[Java版文章自動生成系統]自動生成,軟件作者利用Java Bot技術實現網站自動錄入,全程無人為參與。其中符號、標點及中文語句皆為Random方式由自然語法庫中檢索採集而成。本文的誕生完全依賴於Java 平台及其衍生物[Java版文章自動生成系統],因而本文觀點不能代表軟件作者實際觀點,軟件作者使用此文更不代表軟件作者支持或反對文中涉及內容,本文 僅作為但不限定於[Java版文章自動生成系統]使用示例之用。 

    軟件作者將不對此文承擔任何責任與義務,如有異議,請與Java平台供應商Oracle-Sun取得聯繫。


    免責事項を自動的に生成さ: 

    この記事の[ Javaのバージョンについては、上記の記事は、自動的にシステムが生成]は自動的に、ソフトウェアの作者のサイトのJava技術ボット自動エントリー、 誰も全体のプロセスに関与を使用するように生成されます。どのシンボル、句読点や方法は、中国語の言語は、財務省からのコレクションを取得するためにラン ダムな自然な構文があります。この記事の誕生完全にJavaプラットフォームとその派生商品に依存しています[この記事のJavaバージョンを自動的にシ ステムを生成] 、したがって、この資料の表示は、ソフトウェアの作者の実用的なポイントの見解を示すことはできませんが、このソフトウェアの作者の著者もサポートした り、記事関係の内容に反対するソフトウェアという意味ではない、この資料を使用するように、この記事では、この記事はこれに限定されない[ Javaのバージョンを自動的にシステムが生成]の例を使用しています。 

    異議があれば、Sun、 Oracle 、 Javaプラットフォームのプロバイダにお問い合わせくださいソフトウェアは、この資料には、著者は、すべての責任と義務を負うことはありません。


    Automatically generated Disclaimer: 

    The above article for the [Java version of the article automatically generated system] automatically generated, the software's author to use technology site Java Bot automatic entry, no one involved in the entire process. In which symbols, punctuation and the way the Chinese language are Random natural syntax to retrieve the collection from the Treasury. The birth of this article is totally dependent on Java platform and its derivatives [Java version of the article automatically generated system], and therefore can not represent the views of this article a practical point of view the software's author, the software's author to use this article the author also does not mean that software to support or oppose the contents of the article involved, this article only as but not limited to [Java version of the article automatically generated system] by the use of examples.

    Software, this article the author will not assume any responsibilities and obligations, if any objections, please contact the Java platform provider to contact the Oracle-Sun.


    Généré automatiquement Disclaimer: 

    L'article ci-dessus pour l'[version Java de l'article généré automatiquement système] généré automatiquement, le logiciel de l'auteur à utiliser la technologie Java Bot site automatique, pas de celui en cause dans l'ensemble du processus. En ce qui les symboles, les signes de ponctuation et de la manière dont la langue chinoise sont aléatoires naturelles syntaxe pour récupérer la collection de la Trésorerie. La naissance de cet article est totalement dépendant de la plate-forme Java et de ses dérivés [Java version de l'article généré automatiquement système], et ne peut donc pas représenter les vues de cet article, un point de vue pratique, l'auteur du programme, l'auteur du programme à utiliser cet article, l'auteur ne signifie pas que le logiciel de soutenir ou de s'opposer au contenu de l'article en cause, cet article ne que, mais non limité à [Java version de l'article généré automatiquement système] par l'utilisation d'exemples. 

    Software, cet article, l'auteur n'assume aucune des responsabilités et des obligations, si aucune objection, s'il vous plaît contacter le fournisseur de plate-forme Java, de prendre contact avec la base de données Oracle-Sun.


    책임의 한계를 자동으로 생성 : 

    문서의 [자바 버전은 위의 문서를 자동으로 시스템을 생성] 자동으로 소프트웨어의 저자는 자바 기술을 사이트 봇 자동 입력, 아무도 전체 과정에 참여를 사용하여 생성된. 어떤 기호, 구두점과 방법은 중국의 언어가 재무성에서 컬렉션 랜덤 천연 구문을 검색할 수있습니다. 이 문서의 탄생은 전적으로 자바 플랫폼과 그 파생 상품에 의존한다 [기사의 자바 버전이 자동으로 시스템을 생성], 따라서이 문서를 볼 소프트웨어의 저자의 실용적인 시점의 의견을 대변하지 못하면, 그 소프트웨어의 저자는 저자도 지원하거나 관련된 문서의 내용을 반대하는 소프트웨어 말은하지 않는 경우이 문서를 사용하려면이 문서는 문서의로 국한되지 않음 [자바 버전이 자동으로 시스템을 생성] 예제의 사용에 의해. 

    이의가있는 경우, 오라클 - 썬은 자바 플랫폼 공급자에게 연락하여 문의하시기 바랍니다 소프트웨어,이 문서의 저자는, 어떤 책임과 의무를지지 않습니다.


    Αυτόματα δημιουργείται Disclaimer: 

    Το παραπάνω άρθρο για το [έκδοση Java του άρθρου αυτόματα σύστημα] αυτόματα δημιουργείται, το λογισμικό του συντάκτη της ιστοσελίδας να χρησιμοποιούν την τεχνολογία Java Bot αυτόματη θέση, κανείς δεν συμμετέχει στην όλη διαδικασία. Σε ποια σύμβολα, σημεία στίξης και τον τρόπο με τον οποίο η κινεζική γλώσσα είναι φυσικό Τυχαία σύνταξη, για να ανακτήσετε την είσπραξη από το ταμείο. Η γέννηση αυτού του άρθρου είναι εντελώς εξαρτώνται από την πλατφόρμα Java και των παραγώγων του [έκδοση Java του άρθρου αυτόματα συστήματος], και συνεπώς δεν μπορεί να εκφράζει τις απόψεις του παρόντος άρθρου πρακτική άποψη, το λογισμικό του συγγραφέα, το λογισμικό του συγγραφέα να χρησιμοποιήσει αυτό το άρθρο, ο συντάκτης επίσης δεν σημαίνει ότι το λογισμικό για την υποστήριξη ή αντιρρήσεις για το περιεχόμενο του άρθρου που συμμετέχουν, σε αυτό το άρθρο μόνο όπως όμως δεν περιορίζεται σε [έκδοση Java του άρθρου αυτόματα σύστημα] με τη χρήση παραδειγμάτων. 

    Λογισμικό, το άρθρο αυτό ο συγγραφέας δεν φέρει καμία ευθύνες και τις υποχρεώσεις τους, αν υπάρχουν αντιρρήσεις, επικοινωνήστε με την πλατφόρμα Java παρόχου για να επικοινωνήσετε με την Oracle-Sun.


    تلقائيا تنويه

    المادة المذكورة أعلاه ل[جاوا نسخة من المادة تلقائيا نظام] تلقائيا ، برمجيات المؤلف إلى استخدام التكنولوجيا الموقع جافا بوت تلقائية دخول أي شخص متورط في العملية برمتها. فيها رموز وعلامات الترقيم الطريقة الصينية هي اللغة الطبيعية وتركيب برامج عشوائية ، لاستعادة وجمع من وزارة الخزانة. ولادة هذه المادة تعتمد اعتمادا كليا على منصة جافا ومشتقاته [جاوا نسخة من المادة تلقائيا نظام] ، وبالتالي لا يمكن أن تمثل آراء من هذه المادة وجهة نظر عملية البرمجيات مؤلف ، برمجيات المؤلف على استخدام هذه المادة البلاغ كما لا يعني أن البرامج لدعم أو معارضة مضمون المادة المعنية ، وهذه المادة فقط على سبيل المثال لا الحصر [جاوا نسخة من المادة تلقائيا نظام] عن طريق استخدام أمثلة على ذلك. 

    البرمجيات ، وهذه المادة البلاغ لن تتحمل أية مسؤوليات والتزامات ، إن وجدت اعتراضات ، يرجى الاتصال لتوفير منصة جافا الاتصال أوراكل

    ___________________________________________________________________

    为支持广大正义媒体的声音,抵制google恶行,减少互联网对社会的危害,鄙人自6月30日起决定自觉自愿的休网一月,博文更新也暂时停止到8月继续,特此声明。

    May 18

    PCM文件格式简介

    再存一个~ :)

    PCM文件格式简介
    PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windows的Convert工具可以把PCM音频格式的文件转换成Microsoft的WAV格式的文件。   脉冲编码调制PCM文件格式简介


              将音频数字化,其实就是将声音数字化。最常见的方式是透过脉冲编码调制PCM(Pulse Code Modulation) 。运作原理如下。首先我们考虑声音经过麦克风,转换成一连串电压变化的信号,如图一所示。这张图的横座标为秒,纵座标为电压大小。要将这样的信号转为 PCM 格式的方法,是使用三个参数来表示声音,它们是:声道数采样位数采样频率

             采样频率即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。在16位声卡中有22KHz、44KHz等几级,其中,22KHz相当于普通FM广播的音质,44KHz已相当于CD音质了,目前的常用采样频率都不超过48KHz。 

            采样位数即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。
     
             声道数很好理解,有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的pcm可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果。 
    声波曲线1 声波曲线2 声波曲线3
      下面再用图解来看看采样位数和采样频率的概念。让我们来看看这几幅图。图中的黑色曲线表示的是pcm文件录制的自然界的声波,红色曲线表示的是pcm文件输出的声波,横坐标便是采样频率;纵坐标便是采样位数。这几幅图中的格子从左到右,逐渐加密,先是加大横坐标的密度,然后加大纵坐标的密度。显然,当横坐标的单位越小即两个采样时刻的间隔越小,则越有利于保持原始声音的真实情况,换句话说,采样的频率越大则音质越有保证;同理,当纵坐标的单位越小则越有利于音质的提高,即采样的位数越大越好。

              在计算机中采样位数一般有8位和16位之分,但有一点请大家注意,8位不是说把纵坐标分成8份,而是分成2的8次方即256份; 同理16位是把纵坐标分成2的16次方65536份; 而采样频率一般有11025HZ(11KHz),22050HZ(22KHz)、44100Hz(44KHz)三种。

     
    样点
    t1
    t2
    t3
    t4
    t5
    t6
    t7
    ...
    t16
    t17
    t18
    t19
    t20
    幅值
    0011
    0101
    0111
    1001
    1011
    1101
    1110
    ...
    0110
    0110
    0101
    0011
    0000


              那么,现在我们就可以得到pcm文件所占容量的公式:
         存储量=(采样频率*采样位数*声道)*时间/8(单位:字节数)

      例如,数字激光唱盘(CD-DA,红皮书标准)的标准采样频率为44.lkHz,采样数位为16位,立体声(2声道),可以几乎无失真地播出频率高达22kHz的声音,这也是人类所能听到的最高频率声音。激光唱盘一分钟音乐需要的存储量为:     
         (44.1*1000*l6*2)*60/8=10,584,000(字节)=10.584MBytes
    这个数值就是pcm声音文件在硬盘中所占磁盘空间的存储量。

      计算机音频文件的格式决定了其声音的品质,日常生活中电话、收音机等均为模拟音频信号,即不存在采样频率和采样位数的概念,我们可以这样比较一下:
              44KHz,16BIT的声音称作:CD音质;
              22KHz、16Bit的声音效果近似于立体声(FM Stereo)广播,称作:广播音质;
              11kHz、8Bit的声音,称作:电话音质。 
              微软的WAV文件就是pcm编码的一种。


    wav格式分析

    wav文件格式分析详解

    作者:曹京
    日期:2006年7月17日
                                             

    一、综述
        WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。
    RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个
    字节便是“RIFF”。
        WAVE文件是由若干个Chunk组成的。按照在文件中的出现位置包括:RIFF WAVE
    Chunk, Format Chunk, Fact Chunk(可选), Data Chunk。具体见下图:

     

    ------------------------------------------------
    |             RIFF WAVE Chunk                  |
    |             ID  = 'RIFF'                     |
    |             RiffType = 'WAVE'                |
    ------------------------------------------------
    |             Format Chunk                     |
    |             ID = 'fmt '                      |
    ------------------------------------------------
    |             Fact Chunk(optional)             |
    |             ID = 'fact'                      |
    ------------------------------------------------
    |             Data Chunk                       |
    |             ID = 'data'                      |
    ------------------------------------------------
                图1   Wav格式包含Chunk示例

        其中除了Fact Chunk外,其他三个Chunk是必须的。每个Chunk有各自的ID,位
    于Chunk最开始位置,作为标示,而且均为4个字节。并且紧跟在ID后面的是Chunk大
    小(去除ID和Size所占的字节数后剩下的其他字节数目),4个字节表示,低字节
    表示数值低位,高字节表示数值高位。下面具体介绍各个Chunk内容。
    PS:
        所有数值表示均为低字节表示低位,高字节表示高位。

    二、具体介绍
    RIFF WAVE Chunk
        ==================================
        |       |所占字节数|  具体内容   |
        ==================================
        | ID    |  4 Bytes |   'RIFF'    |
        ----------------------------------
        | Size  |  4 Bytes |             |
        ----------------------------------
        | Type  |  4 Bytes |   'WAVE'    |
        ----------------------------------
                图2  RIFF WAVE Chunk

        以'FIFF'作为标示,然后紧跟着为size字段,该size是整个wav文件大小减去ID
    和Size所占用的字节数,即FileLen - 8 = Size。然后是Type字段,为'WAVE',表
    示是wav文件。
        结构定义如下:
     struct RIFF_HEADER
     {
      char szRiffID[4];  // 'R','I','F','F'
      DWORD dwRiffSize;
      char szRiffFormat[4]; // 'W','A','V','E'
     };

     

    Format Chunk
        ====================================================================
        |               |   字节数  |              具体内容                |
        ====================================================================
        | ID            |  4 Bytes  |   'fmt '                             |
        --------------------------------------------------------------------
        | Size          |  4 Bytes  | 数值为16或18,18则最后又附加信息     |
        --------------------------------------------------------------------  ----
        | FormatTag     |  2 Bytes  | 编码方式,一般为0x0001(详见后文)     |     |
        --------------------------------------------------------------------     |
        | Channels      |  2 Bytes  | 声道数目,1--单声道;2--双声道       |     |
        --------------------------------------------------------------------     |
        | SamplesPerSec |  4 Bytes  | 采样频率                             |     |
        --------------------------------------------------------------------     |
        | AvgBytesPerSec|  4 Bytes  | 每秒所需字节数                       |     |===> WAVE_FORMAT
        --------------------------------------------------------------------     |
        | BlockAlign    |  2 Bytes  | 数据块对齐单位(每个采样需要的字节数) |     |
        --------------------------------------------------------------------     |
        | BitsPerSample |  2 Bytes  | 每个采样需要的bit数                  |     |
        --------------------------------------------------------------------     |
        |               |  2 Bytes  | 附加信息(可选,通过Size来判断有无) |     |
        --------------------------------------------------------------------  ----
                                图3  Format Chunk

        以'fmt '作为标示。一般情况下Size为16,此时最后附加信息没有;如果为18
    则最后多了2个字节的附加信息。主要由一些软件制成的wav格式中含有该2个字节的
    附加信息。
        结构定义如下:
     struct WAVE_FORMAT
     {
      WORD wFormatTag;
      WORD wChannels;
      DWORD dwSamplesPerSec;
      DWORD dwAvgBytesPerSec;
      WORD wBlockAlign;
      WORD wBitsPerSample;
     };
     struct FMT_BLOCK
     {
      char  szFmtID[4]; // 'f','m','t',' '
      DWORD  dwFmtSize;
      WAVE_FORMAT wavFormat;
     };

    补充头文件样例说明:

    首先是一串“52 49 46 46”这个是Ascii字符“RIFF”,这部分是固定格式,表明这是一个WAVE文件头。
    然后是“E4 3C 00 00”,这个是我这个WAV文件的数据大小,记住这个大小是包括头文件的一部分的,包括除了前面8个字节的所有字节,也就等于文件总字节数减去8。这是一个DWORD,我这个文件对应是15588。
    然后是“57 41 56 45 66 6D 74 20”,也是Ascii字符“WAVEfmt”,这部分是固定格式。
    然后是PCMWAVEFORMAT部分,可以对照一下上面的struct定义,首先就是一个WAVEFORMAT的struct。
    随后是“10 00 00 00”,这是一个DWORD,对应数字16,这个对应定义中的Sizeof(PCMWAVEFORMAT),后面我们可以看到这个段内容正好是16个字节。
    随后的字节是“01 00”,这是一个WORD,对应定义为编码格式“WAVE_FORMAT_PCM”,我们一般用的是这个。
    随后的是“01 00”,这是一个WORD,对应数字1,表示声道数为1,这是个单声道Wav。
    随后的是“22 56 00 00”,这是一个DWORD,对应数字22050,代表的是采样频率22050。
    随后的是“44 AC 00 00”,这是一个DWORD,对应数字44100,代表的是每秒的数据量。
    然后是“02 00”,这是一个WORD,对应数字是2,表示块对齐的内容,含义不太清楚。
    然后是“10 00”,这是一个WORD,对应WAVE文件的采样大小,数值为16,采样大小为16Bits。
    然后是一串“64 61 74 61”,这个是Ascii字符“data”,标示头结束,开始数据区域。
    而后是数据区的开头,有一个DWORD,我这里的字符是“C0 3C 00 00”,对应的十进制数为15552,看一下前面正好可以看到,文件大小是15596,其中到“data”标志出现为止的头是40个字节,再减去这个标志的4个字节正好是15552,再往后面就是真正的Wave文件的数据体了,头文件的解析就到这里。


    Fact Chunk
        ==================================
        |       |所占字节数|  具体内容   |
        ==================================
        | ID    |  4 Bytes |   'fact'    |
        ----------------------------------
        | Size  |  4 Bytes |   数值为4   |
        ----------------------------------
        | data  |  4 Bytes |             |
        ----------------------------------
                图4  Fact Chunk

        Fact Chunk是可选字段,一般当wav文件由某些软件转化而成,则包含该Chunk。
        结构定义如下:
     struct FACT_BLOCK
     {
      char  szFactID[4]; // 'f','a','c','t'
      DWORD  dwFactSize;
     };

     

    Data Chunk
        ==================================
        |       |所占字节数|  具体内容   |
        ==================================
        | ID    |  4 Bytes |   'data'    |
        ----------------------------------
        | Size  |  4 Bytes |             |
        ----------------------------------
        | data  |          |             |
        ----------------------------------
                 图5 Data Chunk

        Data Chunk是真正保存wav数据的地方,以'data'作为该Chunk的标示。然后是
    数据的大小。紧接着就是wav数据。根据Format Chunk中的声道数以及采样bit数,
    wav数据的bit位置可以分成以下几种形式:
        ---------------------------------------------------------------------
        |   单声道  |    取样1    |    取样2    |    取样3    |    取样4    |
        |           |--------------------------------------------------------
        |  8bit量化 |    声道0    |    声道0    |    声道0    |    声道0    |
        ---------------------------------------------------------------------
        |   双声道  |          取样1            |           取样2           |
        |           |--------------------------------------------------------
        |  8bit量化 |  声道0(左)  |  声道1(右)  |  声道0(左)  |  声道1(右)  |
        ---------------------------------------------------------------------
        |           |          取样1            |           取样2           |
        |   单声道  |--------------------------------------------------------
        | 16bit量化 |    声道0    |  声道0      |    声道0    |  声道0      |
        |           | (低位字节)  | (高位字节)  | (低位字节)  | (高位字节)  |
        ---------------------------------------------------------------------
        |           |                         取样1                         |
        |   双声道  |--------------------------------------------------------
        | 16bit量化 |  声道0(左)  |  声道0(左)  |  声道1(右)  |  声道1(右)  |
        |           | (低位字节)  | (高位字节)  | (低位字节)  | (高位字节)  |
        ---------------------------------------------------------------------

        ---------------------------------------------------------------------
                             图6 wav数据bit位置安排方式

        Data Chunk头结构定义如下:
        struct DATA_BLOCK
     {
      char szDataID[4]; // 'd','a','t','a'
      DWORD dwDataSize;
     };

     

    FormatTag:说明

    #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */ 
    #define WAVE_FORMAT_PCM 0x0001     /* Microsoft Corporation */ 
    #define WAVE_FORMAT_ADPCM 0x0002   /* Microsoft Corporation */ 
    #define WAVE_FORMAT_ALAW 0x0006    /* Microsoft Corporation */ 
    #define WAVE_FORMAT_MULAW 0x0007   /* Microsoft Corporation */ 
    #define WAVE_FORMAT_GSM610 0x0031  /* Microsoft Corporation */ 
    #define WAVE_FORMAT_MPEG 0x0050   /* Microsoft Corporation */ 


    三、小结
        因此,根据上述结构定义以及格式介绍,很容易编写相应的wav格式解析代码。
    这里具体的代码就不给出了。

     

    四、参考资料
        1、李敏, 声频文件格式WAVE的转换, 电脑知识与技术(学术交流), 2005.
        2、http://www.codeguru.com/cpp/g-m/multimedia/audio/article.php/c8935__1/
        3、http://www.smth.org/pc/pcshowcom.php?cid=129276

        4、http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm (英文详细说明)



    恩,抢过来,这样就不会丢了~

    May 11

    我为什么常建议朋友养猫


    养猫不是为了显摆,更不是单纯为了显示爱心,而有其实际效用。
    所以我常建议一些朋友养猫。

    养猫的效用有三:
    1.怡情
    2.对养孩子的预演
    3.解压

    因为朋友大多到了恋爱、婚嫁的年龄,所以我常建议他们先养只猫。
    从几个月的幼猫开始。开始培养感情。开始朝夕相处。
    开始体会那样一种家里多了一个成员多了一个小家伙儿的那种心情。
    这时候它就是你或你们的孩子。
    猫的IQ虽然有上限,但在情感和心理结构方面,跟小孩儿还是很像的,
    那种心理规律,那种依赖、交流、爱,情感培养和教育模式,
    都可以作为对养孩子的预演。

    特别是年轻情侣一起养猫,不仅是恋爱生活的见证,
    也能更好地体会共同的家庭生活乃至养孩子的种种甘甜辛苦和细腻微妙。

    我养猫后,在怡情之外,对这些有了非常深刻、受益颇多的体会。

    养一只猫,看着它从小长大,它无条件地依赖你,它的可爱与恼人,
    真的让人有做爸爸妈妈的感受。

    而这一切成本非常低,养猫比养狗要简单得多,养猫也比养个孩子省事儿太多了。
    它自己知道危险,能跑能跳,所求并不多,不太生病,而且成长迅速。

    在年轻的时候养猫,然后养孩子、养家。非常好。
    有孩子后,猫还是他的伴儿,丰富他的童年、少年的生活记忆。

    当然,很多时候开始养猫并没有考虑那么多,首先只是猫和人之间的一种缘分,
    因为遇到,因为爱怜,所以开始养。
    但猫带给人的乐趣,对人的生活、情感世界与理性的丰富,
    相较于人对它的喂养和关心,绝对是超值的。
    January 14

    最近的几点想法

    1.某些人注定是给人打工的。 2.技术和管理是两回事。 3.能跟各种各样的人沟通很重要。 4.早睡,伤口会好的快一些。 不早了,睡觉……
    November 03

    扯淡-很长的扯淡

    大兔子病了, 
    二兔子瞧, 
    三兔子买药, 
    四兔子熬, 
    五兔子死了, 
    六兔子抬, 
    七兔子挖坑, 
    八兔子埋, 
    九兔子坐在地上哭泣来, 
    十兔子问他为什么哭? 
    九兔子说, 
    五兔子一去不回来! 
    大家看出什么门道来没?? 









































    这是一件密谋杀兔事件。 



    1.首先,兔子也是有阶级的,大兔子病了,要治它的病,就必须不惜一切代价,甚至牺牲一只兔子做药引。 


    2.病的是大兔子,五兔子却突然死了,显然是被做成了药引。 


    3."买药"其实是黑话,因为实际上只需要一些简单的草药,主要是药引,所以这个"买药"指的是去杀掉做药引的兔子,三兔子是一个杀手。 

    4.做药引的为什么是五兔?因为哪只兔子适合做药引是由医生决定的,二兔子就是医生。 


    5.可以推出,二兔子借刀杀兔搞死了五兔子,他们之间有什么过解呢?可能是情杀,因为一只母兔。 
    6.谁是母兔呢?想一下,女人爱哭的天性,所以九兔是母兔,九兔也知道了真相,所以才哭,因为她爱的是五兔。 

    7."六兔子抬",这明显是病句,一只兔子怎么抬?他显然是被抬,因为他死了,所以才会被抬。抬他的两只兔子随后一个挖坑,一个埋尸。没错,抬他来的就是七八两只兔子! 


    8.六兔子是被七八两只兔子杀的吗?不是,他是被杀手三兔子杀死的。三兔子本来不想杀他,五兔子和六兔子关系非常好,当时他们正好在一起,并联手抵抗,所以三兔子才把他们一起杀了。 


    大家会发现,每相临的两只兔子关系都是微妙的。1-2 大兔子像皇上,二兔子就是他身边进谗言的小人。3-4三兔子是杀手,四兔子药师,他俩都是助纣为虐型的,四兔经常给皇帝做一些壮阳药什么的,把皇上搞生病了,又亲自熬兔子药引。5-6一对好朋友,经常在一起吟诗做对,不惧怕恶势力,五兔很有才华,怪不得被九兔所爱又被二兔嫉妒呢,物以类聚,六兔也很有才,可惜都属于文人,两个人的武工加一起也没打过三兔。 7-8也是一对好朋友,但属于随风倒型的,为了保住命,什么事都肯做,本质不算坏,但经常被坏人指始做坏事。9-10在女人哭的时候,身边一定会有爱她的男人,而她的哭泣一定是为了她爱的男人。可惜,爱她的兔子和她爱的兔子不是一只兔子。很明显了吧,十兔暗恋九兔,关心她,看到她哭,他当然要去问原因。 



    9.最后一点分析了,也许是多余。事情是这样的,三兔和五六两兔打斗过程中,引来了七八两兔。当五六被杀死后,三兔已没有力气,况且七八平时都很听话,不会告密的。所以三兔就放过了七八两兔,并让他们把六兔抬走,埋了。七八一看,命保住了,反正事情也发生了,无法挽回,只好照办理。 






    后记1:回看第5条,情杀不是随便猜出来的,观全局,二兔位高劝重,但即便这样,也有他得不到的东西,那就是真爱。所以他杀五兔的原因很可能是这个,而且五兔正直,应该平时就经常与他作对,所以才起了杀心。 


    后记2:其实五兔死的非常惨,因为二兔疯狂妒忌他,所以不想让他成为一个正常的男人。再说皇上吃了药师的药,荒淫无度,哪里最虚弱大家应该都知道吧,所谓吃什么补什么,其实五兔被做成药引的部位应该是... 



    推理的补充 

    (1)作为一个完整的故事,必然要有因果关系,这个故事有了果(即情杀,下面再谈),但没有因,所以显得不完整,就是大兔子为什么病了?无缘无故的病了便引发了以下的血案么?显然不是. 


    (2)从一个严密的逻辑上来看,这个故事中所有人物的出现(兔子)都是有联系的,且每一个按序列排下来的兔子之间都存在因果关系(动机),比如:大兔和二兔,二兔和三兔.三兔和四兔(这个上文已经大致说明了,我就不进一步讲了),但大家有没有觉得,10兔子的出现好象在这个逻辑中显得微不足道,即没有10兔子这个故事也能顺理成章的结束,因此10兔子在这个逻辑中的动机显得苍白. 

    结论: 
    根据以上的推断,我们都忽视了这个故事的重点,就是10兔子,他为什么出现在这个故事中?难道仅仅为了引出9兔子的一句话么?错了,这是一个有预谋的凶杀案,而且,10兔子就是这个案件的主谋(不是2兔子),其他所有的兔子都是在他全盘计划中的一枚棋子,案发过程大致如下(补充上文): 


    (1)10兔子喜欢9兔子,9兔子不喜欢他 

    (2)5兔子和9兔子互相喜欢 

    (3)10兔子妒忌 

    (4)10兔子是大兔子身边最亲信的人,并且对其他兔子之间的关系了如指掌(也就是说,他很清楚大兔子如果病了接下来会发生些什么事),(比如10兔子就像是熬拜,大兔子是康熙) 

    (5)5兔子也是朝中权贵,10兔子没办法随便处置他. 

    (6)所以10兔子就让大兔子病了,接下来的一切就像上文说的那样发生了..... 


    所以,贯穿整个这个故事的主线就是10兔子,他是这个故事的结尾也是这个故事的主因,这样这个逻辑才显得天衣无缝,故事的名字就是:借刀杀人
    November 02

    这里好慢……

    似乎访问这里越来越慢了……
    写东西竟然比等网页的时间还要短
    而且
    写完了竟然没有了???
    难道
    真的要逼着我把东西都存到GOOGLE上么???
    September 16

    编程八荣八耻...

    以动手实践为荣 , 以只看不练为耻;
    以打印日志为荣 , 以单步跟踪为耻;
    以空格缩进为荣 , 以制表缩进为耻;
    以单元测试为荣 , 以人工测试为耻;
    以模块复用为荣 , 以复制粘贴为耻;
    July 03

    大家齐做俯卧撑

              1.给我做三下俯卧撑,我也能推动地球。——阿基米得
      
        2.如果我曾经看得远一点,是因为我比别人多做了三下俯卧撑。——牛顿
      
        3.做俯卧撑时运动速度大小,取决于你选取的参照物。——爱因斯坦
      
        4.天才就是百分之九十九的汗水加上三个俯卧撑。——爱迪生
      
        5.俯卧撑即合理。——黑格尔
      
        6.做俯卧撑还是立卧撑,这是个问题。——哈姆雷特
      
        7.俯卧撑尚未完成,同志们仍需努力。——孙中山
      
        8.我撑故我在。——笛卡尔
      
        9.俯卧撑已经做三下了,胜利还会远吗?——雪莱
      
        10.世界上本来是没有路的,做俯卧撑的人多了,也就成了路。——鲁迅
      
        11.做自己的俯卧撑,让别人说去吧!——但丁
      
        12.我有一个梦想,有这麽一天,每一个黑人都可以自由地做俯卧撑,而没有人去问他们为什么!——马丁.路德.金
      
        13.俯,我所欲也;撑,亦我所欲也!——孟子
      
        14.轻轻的我撑起来了,正如我轻轻地俯下,我挥一挥衣袖,不带走一丝尘土!——徐志摩
    June 07

    成为最牛程序员的五大要诀

    想成为最牛程序员吗?以下几点有助你实现这个目标。

    Tip 1 要方法而不是记忆

    我的一个程序员朋友常跟我说记住超过200个C++函数是多么的有帮助。“我从来不必去查找函数的定义,因此我可以比其他程序员编程快上50%。”他自豪的说。可结果是什么?难道他不知道编译器的代码自动完成功能可以节约大量查找函数及输入函数的时间吗,另外当C#发布出来后,他在记忆函数上面的努力就白费了。当然,编程中对函数的熟记是一件必需的事情,但是你应当花费更多的时间在学习做事的方法上,比如说创建一个数据库连接,如何产生RSS源等,然后是关注于代码是如何实现的。学习做事的正确方法远比死记硬背重要。

    Tip 2 建立属于你自己的资源库

    我们都会有因为这样或者那样原因而不得不建立的代码集。我从来不记得连接数据库的准确代码语句,所以我每次都不得不在代码集中花10分钟去查询它。为了解决这个问题,我创建了一个用于记录代码片段的Word文档,以帮助我记忆和查找。我的一个朋友建了个记录链接的书签,另外一个朋友在他的邮件中存储了这些内容。无论你的方法是什么,都是一种可以使你方便查找到文件或内容的好习惯。当你建立你的知识库后,你会发现它将极大的帮助你去把代码写得更好和更快。

    Tip 3 知道做什么而不是怎样做

    很多初级程序员问我“我怎样做这个,或者我怎样做那个?”我总是会跟他们说“你想做什么呢?”听闻此言后,他们会死盯着我,就好像我跟他们的妈妈约会了一样。这就是我的下一个观点,绝不要在知道你想做什么之前去学习怎样做,比如一个程序员想要搜索一个文本文件中是否存在的某个特定的词汇。下面是用C#来实现该目的:

    string fileContent;
    System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
    System.IO.StreamReader myStreamReader = new StreamReader(myStream); 
    fileContent = myStreamReader.ReadToEnd();
    myStreamReader.Close();
    int idx = fileContent.
    IndexOf("string"); 
    if (idx)
    {
    return true
    }

    现在我给他这些代码去做这件事,但是更重要的是理解自己正在试着做的是什么。在这个例子中我们想做的是:
    1. 打开一个文件
    2. 读其中的内容
    3. 关闭文件
    4. 搜索字串
    5. 如果找到了则输出结果
    用这个方法来解决事情产生了以下结果:
    1. 它使语言无关
    2. 使你的精力集中在需要做什么上
    3. 使你的代码更易读和有效
    知道要做什么将使你的代码更有目的性。现在在C++、PHP、VB.NET、Ruby on Rails中编写上述代码是很容易的事情了,因为你理解了要做什么而不是怎样去做。

    Tip 4 创建适合你的注释风格

    每一个程序员都讨厌注释,但是为了写出更有质量和易读的代码,我们需要注释。问题是大多数程序员常被告知如何注释,一些公司希望每一行代码都有注释,另外一些则想要在每个函数前面有一段注释,还有的规定在不同的代码块前注释。我并不同意这种强制性的规定,只要代码是可用的、易读的和有效的,那么程序员应当可以用其个人喜好的格式来注释。对我来说在每一行都注释将破坏代码的节奏,我更喜欢在函数的前面注释,罗列我接下来一步步将要做什么,然后在函数中参考注释中所写的步骤进行编程。这是适合我的模式,这样可以在我编程前帮助我组织设计,也保持了我的节奏,使我不会因为需要注释而在编程时中断,也有助于其他人阅读我的代码。下面是我怎样注释的例子:

    /* 1. Open File*   

    2. Read file into string*   

    3. Close file*   

    4. Search for key word*   

    5. If fond return true;  

    */  

    string fileContent;   

    //1.   

    System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);   

    System.IO.StreamReader myStreamReader = new StreamReader(myStream);   

    //2.   

    fileContent = myStreamReader.ReadToEnd();   

    //3.   

    myStreamReader.Close();    

    //4.   

    int idx = fileContent.IndexOf("string");   

    if (idx)   

    {   

    //5.   

    return true;   

    }  

    /* 1. Open File* 
    2. Read file into string* 
    3. Close file* 
    4. Search for key word* 
    5. If fond return true;
    */
    string fileContent;
    //1.
    System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
    System.IO.StreamReader myStreamReader = new StreamReader(myStream);
    //2.
    fileContent = myStreamReader.ReadToEnd();
    //3.
    myStreamReader.Close(); 
    //4.
    int idx = fileContent.IndexOf("string");
    if (idx)
    {
    //5.
    return true;
    }


    这种注释风格使我和大多数程序员可以容易的阅读它。那么,找一个适合你的注释风格吧。

    Tip 5 精通one,学习another,关注next

    有时有程序员发email问我他应该学习什么语言,什么是最好的编程语言等等。你至少应该精通一门编程语言,可以相当好的去编写代码,然后再去学习掌握另外一门,逐渐的成长。以我自己为例,我精通C++,擅长C#,并且已经开始使用SHELL大概有一两个月了。为什么呢?精通一门语言可以使你进步,在进步中写更好的代码,找到完成任务更好的方法等。进步也是我作为一个程序员年复一年的工作,却仍没有觉得枯燥的原因。

    April 16

    周杰伦写日记痛批“反对抵制家乐福”的网友

    周杰伦可以说是台湾大陆最流行的明星,之前对他的八卦新闻不太感冒,甚至对他的“台湾问题”的立场表示怀疑,看了这篇日记觉得周杰伦在“zd”和“抵制奥运”这方面给中国人们做了很好的榜样和警示。痛批了一些网友,鼓励大家一定要团结,不要沉默,行动起来一起抵制那些“险恶”的外国势力。

    以下是周杰伦在他自己网站上写的日记:

    这两天,在大陆很多论坛逛了一下,也花了比较多的时间,了解大陆,了解大陆的朋友。当然,我也很清楚中国现在的热点是什么,非常多的言论让人看了激情澎湃,也有些言论让我有点失落。

    在这里有的话说得不好,得罪了一些人人的请多包含。我也试着用中国的口吻去写一些文章,不知道写得怎么样,不好的地方希望大家能指出来。当然,一些用词和用语也请教了一些人才写出来的。

    如果说80年代中国或者90年代的中国,我觉得很多言论可以算了。但是我现在认为大陆人群,素质很高,很文明,和大家经常有提到的“很和谐”了。我一直认为中国是一个素质较高的国家,是一个充满了感情,充满了自豪感的国家。我近几年经常来大陆,也经常和大陆的一些明星合作,中国的文化,我一直是以他骄傲,同时为他的人民自豪。北京奥运的申请成功,也让台湾许多民众骄傲一次。

    可是今天,当国家遇到困难的时候,当国家需要国民的凝聚力和爱国情感的时候。一些人所表现出来的东西,让人失望,无比失望。都说大陆人温和,确实是,但有的时候我觉得温和过头了。我一直以为当我们70后80后这代人成长起来后,当我们用更宽更广的眼界去看这个世界的时候,中国会是更骄傲的一群人。现在看来,似乎有点错了。可能和我的期望值有些高了。但很多事情我觉得很可笑,可笑到有点可爱。竟然可以在一些论坛上看到有人说“我们为什么不让西藏人自己投票选择是否独立” 竟然可以看到 “奥运、ZD、台独,关我P事”,竟然有人“我非要到家乐福买东西你拿我怎么着” 你要是家乐福员工来这里穿马甲,我原谅你,那是你的生计。你要是十五六岁的小朋友那也没问题,童言无忌,叛逆期喜欢非主流,人家说什么你都喜欢驳斥。但是你如果是一个有思维,有文化,有抱负,有情操,至少是个有人格的人,你最起码要知道什么叫爱国吧。现在有一句话很流行,很贴切,经常在大陆的网上看到 “你可以不爱党,但是你一定要爱国”。你可以骂我是“粪青”, 但是当我60多岁的父亲看到ZD在法国所作的种种激动地血脉奋张的时候,你也要说他老人家是奋青么?

    就算你不爱国,当你看到那些无耻的人,无耻的扯着一位残疾人姑娘的长发,抢她手中神圣的火炬的时候,你难道就不会有一丝丝怜悯或者愤怒么?一个不爱国、不爱人、连最后的怜悯之情都丧失的人, 你还好意思在这里叫嚣, 用周星星同学的话“I 服了 U”

    纵观这段时间,全国各大论坛,特别是一些大城市的城市论坛,还有一些国外的华人博客,每上一次,我都觉得好感动,很振奋。有些时候我觉得大陆应该感激ZD分子。没有他们,不知道中国人原来还有这样的凝聚力,还有这样的爱国情感,曾几何时,几乎以为中国人的爱国感情已经如此冷漠,曾经以为中国人除了内讧,别的什么都忘记了。

    但是,这一次,大陆,我为你悲哀,你的老百姓,至少是部分的网民,始终走不出所谓的小意识的阴影,始终学不会,除了过日子,我们还应该爱什么,爱那面旗。为什么在网上可以看到那么多华侨的泪水,看他们为了这面旗帜和ZD打成一团,因为他们比你们知道,国家对他们来说,意味着什么!

    农民伯伯是很可爱的人,一个真正的农民伯伯,他真的不太明白什么叫爱国,因为他们没有机会读书,没有人告诉他们国家是什么,国家对于一个公民,又代表着什么。所以,那些为着农妇、山泉、有点田而终身奋斗着的农民伯伯们,不失为一些有理想有抱负的守望者。然而,我觉得大陆的教育,很多人是受过良好教育的国中生、甚至硕士博士。 他们读的书都哪里去了?难道你们读的书让你们这一生的信仰,这一生的依托,也是农妇、山泉、有点田?这里没有贬低农民伯伯的意思。

    大陆最受尊敬的应该是周恩来总理,他曾在10年前20年前就告诉中国人“为什么而读书?” “为中华之崛起而读书!” 在这里说这个也许有些矫情。太深、太口号、太浮华!我们不能要求每个人都那么爱国、都那么愤青、都那么有激情。有些人他更喜欢研究家门口的菜市场猪肉现在多少钱一斤, 有的人更在乎自己的生活、更在乎多久没和女朋友KISS,多久没和老婆ML,毕竟这才是切身的事情。 但是你们有必要在这里抬杠,人家说爱国,你就说人家是粪青,人家保护火炬,你就说人家作秀,人家抵制家乐福,你就说支持家乐福,更可悲的是,竟然有人说奥运关我们P事,西藏独立关我们P事,台湾独立关我们P事;竟然还有人说支持西藏独立?

    老实说, 把你们必成农民伯伯那是侮辱了农民伯伯。你们学那么多知识是干嘛的,你们读了十几二十年书是干嘛的?难道人读书,人活着,就是为了关心自己,关心个体,为了自己而活着的么? 就算是,没有了国家,没有了一切的根基,你这个个体还能过的好么?

    如果有些觉得我侮辱了你们,我这里先道歉。我信手举的例子没有任何侮辱大家的成分,更多的是要对一些论坛这次这么乌七八黑的东西进行反思。但是现在的大陆,这个很外向号称很开放的地方,你如果不知道这个事情也就算了,你如果知道这个事情不吱声也无所谓。你在这里玩叛逆算个什么事情?那些人的话我怎么听怎么不习惯“ 什么金晶是作秀”“ 什么西藏独立算了” “什么奥运、藏独、台独关我P事” “什么支持家乐福,继续支持家乐福。我就奇怪人的心理怎么可以阴暗到这个地步!

    也许我有些气过头,很多觉得我表现得很奇怪,我不想大谈台湾问题,但台湾的人们对热爱台湾的那个热情和拥护,在大陆里面我却没有怎么看到。我只希望这里有些东西它确实很客观,很多东西说错了有可能,但说错了就错了,说错的话就应该承认,我虽然属于公众人物,但我没有“忽悠”人的习惯,也许是我能力有限想表达出来的意思却用错了方式,言不达意又伤害了别人。这里诚挚的道歉, 对不起,那决不是我的本意!希望大家能支持伟大的祖国。

    March 28

    影响成功的53种借口

    一位性格分析家编了一份最常用的托词的单子。你在读这份单子时,请细心检讨自己,反省 

      自己,从而判定这些托词中有多少是你自己常用的。一旦知道了自己的虚伪与无能后,就毫

      不犹豫地抛弃之,从而更加肯定自己的能力,向事业冲刺。这53种托词是:

      如果我没有家室之累……

      如果我有足够的关系……

      如果我有钱……

      如果我受过良好的教育……

      如果我能找到一份工作……

      如果我身体健康……

      如果我有充裕的时间……

      如果时代好一点……

      如果别人了解我……

      如果我的环境不同……

      如果我能再一次重生……

      如果我不怕别人会说什么……

      成功者找方法,失败者找借口。如果给我那个机会的话……

      如果别人不怀恨我的话……

      如果不是发生事情使我停顿的话……

      如果我年纪轻一点……

      如果能照我的意思去做……

      如果我生在富有的人家……

      如果不是所遇“非人”的话……

      如果我有别人的聪明才智……

      如果我敢自作主张……

      如果我能把握过去的机会……

      如果别人不惹我的话……

      如果我不必料理家务和照顾孩子……

      如果我能有点储蓄的话……

      如果老板赏识我的话……

      如果有人拉我一把的话……

      如果我的家人谅解我……

      如果我住在大城市里的话……

      如果我能早一步的话……

      如果我不受拘束的话……

      如果我有某些人的性格……

      如果我不是太胖的话……

      如果别人了解我的才华……

      如果我走运的话……

      如果我有负责任的能力的话……

      如果我不失败的话……

      如果我知道诀窍……

      如果大家不反对我……

      如果我没有重重的顾虑……

      如果我没有选错结婚对象……

      如果我不浪费的话……

         如果别人不是太难合作的话……

      如果我相信自己的话……

      如果我的运气不坏的话……

         如果我不是生来命苦的话……

      如果我能获得多些安慰的话……

      如果我不必太辛苦的话……

      如果我不亏损的话……

      如果我生活环境不同的话……

      如果我没有过去那段生活的话……

      如果我有自己经营的事业……

      如果别人肯听我的意见……

      如果……

      请打住!所有这些托词只能证明你是弱者!

         制造托词来解释失败,是人类的普遍倾向。这种习惯与人类的历史同样古老,这是成功的致命伤!为何人们不放弃他们喜爱的借口?答案是明显的。人们之所以会保护他们的托词,是因为托词是他们制造的!

      制造借口是人类根深蒂固的习惯,这种习惯是难于打破的,尤其当我们要以此作为失败或不愿意做某事的借口之时。柏拉图深明此理,所以他说:“征服自己是最大的胜利,被征服是最大的耻辱和邪恶。”

      征服自己是最大的胜利!

     

    February 26

    80后小学作文中的超强“必杀句”,你也用过吗?

    1。“同学们看着清洁的教室,擦着额头上的汗水笑了……”(用于描写大扫除之后)

    2。问:“小朋友,谢谢你,你叫什么名字?”(用于扶老人过马路等好人好事之后)

    答:“我叫红领巾。”   黄金必杀句~~~


    3。小明,小红,小刚,小李,小X……   其实中国人名字很好起的~,李守银,史三八都是名
    人呢~~~


    4。“今天天气晴朗,万里无云,我们来到了XX公园春游。。

    首先映入眼帘的是假山。。”


    “在夕阳的余晖下,我们依依不舍的离开了XX,我会永远记得这快乐而有意义的一天!”
    为什么每次春游回来都要写周记?


    5。“我爱我的家   更爱我伟大的祖国。”


    “望着缓缓升起的红旗,我的崇敬之情油然而生”


    6。“买东西的时候阿姨多找了2角钱。低头看到胸前飘扬的红领巾,就退回去了。”   再然
    后就是:我低下头,发觉胸前的红领巾更加鲜艳了   。


    7。“今天是我第一次洗衣服,今天是我第一次洗碗,今天是我第一次叠被子,今天是我第
    一次。。。”   第一次果然都很有纪念价值


    8。“在我的记忆里,有这样一段故事有如最亮的星星一般...”


    9。“我的脚象灌了铅一样。。。。”


    10。“下课了,有的……,有的……,还有的……。我们的课余生活是多么的丰富啊!”


    11。“无数革命先辈抛头颅洒热血,才换来了我们今天的幸福生活,和他们比起来,我的心
    里惭愧极了......”   “五星红旗,是用烈士的鲜血染红的。”   童年过的真血腥   —   —


    12。“一天,小强走在上学的路上,一天,王老师骑在下班的路上。。。又是XXX的一天。
    ”   好平静的一天。。。


    13。“每当遇到困难想退缩时,脑海中忽然闪过XX(张海迪大姐姐等)的身影,比起她我的
    这点困难算什么。”   显然那时候我们跟他们是完全不认识的,怎么这么爱装熟?

    14。“十一届三中全会以来。。。”   终于长大了。。。


    15。“烛光下,看着妈妈布满老茧的手那么灵巧的帮我织毛衣,我的泪水再也忍不住流出来



    16。红的像火   粉的似霞   白的胜雪!


    (以上为转发)


    17.举例子.....牛顿.....爱因斯坦.....居里夫人.....爱迪生......


    让老师吐血的举例四大名人


    18.不经历风雨,哪得见彩虹。。。?   若非一番寒彻骨,哪得梅花扑鼻香。


    描写毅力常用句式。。


    19。怀念我们的老师。。。今天是教师节,老师们是蜡烛,燃烧自己,照亮别人。


    他们是“灵魂的工程师”。古诗云:春蚕到死丝方尽。。。。。”


    那天。小王老师使尽了全身的力量和我们上最后一节课。。。。可是小王老师只教了我们一
    个学期就患癌症死去了。。我们是多怀念他啊。。。。小学时为了感人,很多老师就这样患
    绝症死了


    20。今天路上捡了1毛钱,交给了警察叔叔。。心里别提有多高兴了。。老师也表扬了我,
    乐得我一蹦三尺高(顶级经典)。毛主席说:做一件好事并不难,难的是天天做。。。


    21。在灯光下,看着妈妈的白发,我。。。。泪流满面。。我一定要。。。。


    (80后的妈妈们基本30多岁就都长白发了)。。。。


    22。小红是我的同桌,清秀的眉毛下一双水灵灵的大眼睛,仿佛会说话一般   只要是写眼睛
    ,水灵灵的准没错。。。。
    February 19

    收获

    晚上跟崇拜的牛人聊了一下未来的志愿,

    果然牛人说话就是非同凡响呢.

    一眼就可以看到我现在存在的问题.

    似乎每个问题都是针对我的薄弱环节而来呢.

     

    不过幸运的是

    我的理想 大目标是完全没有问题的

    只是需要时间,经验和技术的积淀

    还需要多学习理论 以及自身的努力才行

     

    虽然只是个开头

    但是也可以感觉到很清晰的思路

    每一件事情都分析的那么透彻

    让我心服口服.

    这就是一种思维能力,

    我一直在找的!

     

    临睡前 他送给我他的帝王学说以及评论

    果然不错

    这是今天收到的最好的礼物呢!

    期待明天继续深入讨论 ^_^b

    走技术路线,不变的主题

     

    另:最近写东西越来越象PAVEN了,不经意间就成这样子了,似乎受到她的熏陶了呢~

    image

    January 22

    江城子·哀六级考试

        发下卷子正心凉,一紧张,词全忘。似曾相识,何意却不详。作文听力两

    茫茫,看阅读,泪千行。

        步出考场见同窗,都一样,很受伤。如此成绩,无颜见爹娘。只待他朝发

    榜日,结绳套,系房梁。

    December 29

    淹死的一条小鱼~

    鱼儿离不开水
    水是由h和o组成
    好像是什么h燃烧变成水的
    很没有意思
    水就是水
    马就是马
    白马非马
    王水非水
    小鱼一进去
    脱水而亡
    这是第一种死法
    水中含o
    鱼儿就是呼吸这玩意生存的
    所以有很多的方法把o弄没
    小鱼就死翘翘了
    比如把水烧开(也许不等烧开小鱼就漂浮在水面上成鱼汤了)
    或者在水里栽些花儿呀,草儿呀什么的
    和小鱼抢氧气玩
    小鱼很笨,抢不过别人
    就淹死啦
    这是第二种死法
    或者小鱼病了
    给他动动手术
    比如去了腮什么的
    再放回水中
    由于没有腮
    小鱼无法呼吸
    最后---淹死了
    这是第三种死法
    或者小鱼很不幸
    给养鱼的抓住了
    放到市场去卖
    遇到一个老太婆
    很蘑箕
    相中了小鱼(好不幸,如果是一个PPMM小鱼一定乐歪了)
    拿在手里讲价
    小鱼那个气啊
    好好的
    放水里谈不好么
    偏要放空气里
    虽然空气里o多多
    可是没有h怎么活啊
    过了很久
    老太太和卖鱼的讲不通价
    就把小鱼放回去了
    那时小鱼已经濒临死亡境界
    一遇到水就吸呀吸的
    结果太幸福,水喝多
    呛死啦
    这是第四种死法
    还有很多淹死小鱼的方法了,不一一说了
    其实鱼淹死很正常的
    擅游者必溺于水
    说的就是小鱼吧

    December 10

    十个“三角形”汉字,好看、不好认

      汉字中的“品”型结构的酷似“金三角”,音、意、形,都非常有趣。可惜,这些字绝大部分不常用,极为生僻,几乎变成了绝无仅有的“活化石”。先挑拣十个例子,请列位上眼。
    (一)最土的汉字——“垚”
        这个字读“尧”,山高的意思。并不是意外的巧合,在金、木、水、火、土这“五行”之中,每个字摆成品型结构,都能派生出另外一个绝然不同的汉字。“垚”字不常见,虽说一副土头土脑的模样,核心却是峭拔巍峨、直插云霄。
    (二)最色的汉字——“姦”
        这个字读“奸”,也好似“奸”的异体字。《说文》里解释为“私”“盗”,《广雅》里说是“伪”的意思。常言道:“三个女人一台戏”,这个字充满了色情与暧昧的情调。
    (三)最滑的汉字——“鱻”
        三个鱼,味道鲜香。这个字读作“鲜”,同时,也是“鲜”的异体字。原指生鱼;抑或“新鲜、明丽”的意思;也指鲜美、应时的食物。现在,街面上不少饭馆喜欢采用这样生僻的招牌,比如:“羴”、“犇”、“鱻”等等,尽管并不一定清楚它们的读音和本意,却给人大鱼大肉、排场丰盛的感觉。

    (四)最闹的汉字——“猋”
        这个字读作“标”。字型很明显,三条狗纠缠在一起,表示狗群奔跑的样子;引申一步,便派生出迅速、飙升的意思。
    (五)最顶的汉字——“麤”
        这个字读“粗”,也是汉字“粗”的异体。从字型上看,一大两小三头鹿,死死地顶在一起,似乎彼此混搅,非常有力气;惜乎,只表达了动粗的意思。《左传》记载:“粮则无矣,麤则有之。”这里的“麤”是粗砺带糠的谷物。
    (六)最畜生的汉字——“骉”
        《三字经》里说:“马牛羊,鸡犬豕。此六畜,人所饲。”除了鸡和猪之外,马、牛、羊和狗,都可以按品型结构拼成另外一个崭新的汉字。
    “骉”,读“标”,字型很清楚,一匹马率领另外两匹,风驰电掣地奔跑。这个字恰恰是众马奔腾的样子。
        “羴”,读“山”,也是“膻”的异体字。掉进羊群里还能闻着什么好味儿?臊气!有句成语叫做“趋腥附膻”吗?所谓“膻”,就是羊肉的气味。
        “犇”,读“奔”,也是“奔”的异体字。牛,本性温顺,三头牛碰面,也不至于太疯狂,除非蹿进了西班牙斗牛场。这个字反倒是奔跑、急匆匆的意思。
    (七)最敏感的汉字——“毳”
        这个字读作“崔”。三根毛儿是什么意思呢?还是指毛发,医学上专有“毳毛”一词,指人体表面除头发、阴毛、腋毛外,其他部位生的细毛,俗称“寒毛”。既是“寒毛”,就非常敏感,它替人体传递冷热寒暑的细腻感觉。
    (八)最恶毒的汉字——“蠱”
        这个字度作“古”。字型赫然在目,一只器皿里装着一群虫子。其实“虫”的繁体,就是一上两下三只“虫”组合而成的。那么,在器皿里装满虫子又是为什么呢?原来,古人把许多有毒的虫子聚敛到一起,让它们彼此吞食,互相残杀,最后剩下的虫子就是“蠱”——这玩意儿性情残忍,毒性最烈,放在食物中,足以致人死命。
    (九)最无赖的汉字——“掱”
        这个字读作“爬”。还用问吗?典型的“三只手”,从别人身上窃取不义之财。“掱手”一词,变成了“四只手”,仍然脱不了“贼皮”,读作“扒手”。

    (十)最昂贵的汉字——“赑”
        这个字读作“必”。“贝”就是钱,一上两下三个“贝”字码在一起,表示“用力的样子”。俗话说:肉好吃,钱难挣。金钱、名位所在,必然要削尖脑袋往里钻,怎么能不费劲儿呢?另外,有一个专有名词——“赑屃”,读作“必细”,是传说中一种像龟的动物,“龙生九种”,其中一子。这家伙不但有力气,而且喜欢文字,正好跟石碑打交道。民间所谓“王八驮石碑”,多为“赑屃”。

    November 09

    我要变强

    某人不经意的一句话改变了我对事情的看法。原来总觉得自己想的事情的都很对,最后才发现,自己生活在自己的虚幻的世界里,所以别人会觉得自己很怪。

    突然发现,自己的理想是那么虚无缥缈,如果继续下去自己一定会down掉,什么理想统统都是废物。跟别人比,自己的进步太慢了,还整天觉得自己很不错。

    目标就在前面,很清晰,但是没拿到手里就不是自己的,要加速的让目标实现。所以,我要变强,再变强。全方位的让自己变强!

    image

    September 11

    《史记》之易建联少帝本纪

        易建联广东鹤山人也,生卒不详,常与父游于乡里,见他人,则自谓之曰:吾乃共和小平十一年十月廿七年生人是也,皆不信。人多恶之,侧目连称“贱”,于是本名辱没,世人皆以贱连为易氏之名也,未曾置字。 
      少时入学,好游猎,喜歌舞,常以白面小生自居,同游者皆以为耻,或有痴呆女喜之,数随其左右,见其搔首弄姿,则大声激叫:“阿联”于堂上,此乃易密之始也,由此礼仪崩坏,先生数昏厥于地,遂逐之。建联自投深圳体校去也。 
      泽民六年,入籍CBA广东宝马仕,此乃万恶之始也。后得积臣,杜峰,朱芳雨等人往助,有小成,锦涛二年,册封MVP于总决赛,至此,野心始膨,自以为关中之地,已无敌手,遂远渡美利坚合众国,谓之众人曰:“NBA乃吾志所向,得尝此愿,余生无憾矣。”众皆感喟。然及至殿试闭,为雄鹿招之,不至。或有问者,则云:“此乃美洲小郡,华人寥寥,吾以之为耻。”雄鹿主薄哈里斯劝其数矣,成效甚微。又威斯康星郡太守书信揽之,郡民上下求之,亦无用。固若顽石,为古人之不敢为。众哗然,啧啧以“球霸”称之。 
      适易将效国于夏之联赛,此乃NBA菜鸟之所聚也,于是人潮涌动,皆欲以观其能。但见阿联为盖伊跨于篮筐之上,为加西亚虐于禁区之内,为格林灌飞于球场之外,且毫无愧色尤以大将军自居。堂下众皆羞赧,以手掩面,曰“此乃吾等之不及也,其后必有大成。” 
      此役后,归国,昭告天下曰“吾乃十三万万中华人之代表,十三万万中华人即吾也”宇春闻之,默然半晌,瘫于地。芙蓉公主闻之,吐血三升叹曰“既生吾,何生易!”祖德闻之,喻众人于博客曰:“八卦至此绝,吾就此封笔,永不为复”世人闻言,皆拜曰:易讳建联少帝 ,至此名震寰宇。 
      早有细作报之于天上,李毅大帝闻之,谓左右曰“若何?”皆曰其能,大帝朗声大笑云“此乃吾家之千里驹也!” 
      评曰曰:“中华历久,光武中兴,贞观之治,盛世康乾,皆乃世之佳话,然尤在当代之下,何哉?吾且用一言以蔽之:“方今中华,能者欠稀,何所依托?唯有李易。
     
    August 24

    勾手投篮技术的运用时机及要点

    中锋身处篮下,在同外围二三人的局部配合或全队的整体战术进攻中,运用勾手投篮的机会很多,范围也比较大.比赛中勾手投篮不受投篮的角度、位置、“死球”、“活球”的限制和影响,具有独特的灵活性和突然性.进行勾手投篮时,中锋可向任何一侧运球后进行投篮,也可以在接球后快速转身进行勾射,或抢得篮板球后马上进行二次进攻的勾射.
     

    限制区附近如形成一打一的局面,运用勾手投篮是很有利的,在高度与对手相等时,要面向球篮进攻,抓住时机紧贴防守者持球突破(交叉步、顺步均可),此时重心要低,速度要快,转身、探肩、推放球动作要连贯.投篮臂向侧伸展,出手时掌心转向上,向篮筐做弧形动作(投篮),根据对手情况做勾射或半勾射,同时还可造成对方犯规.
    中锋如在限制区的两侧得球,在向底线方向挤投的路线受阻且高度不如对手的情况下,背向进攻是小个子打大个子的
    有效方法一.此时,中锋接到球后,要特别注意重心转移,站位面要相对宽些,在未接到球时就要用肩、背去感觉防守者的位置,并利用肩、头、球做假动作,用反方向或连续反方向转身进攻,亦可做交叉步或跟步的左右手勾手投篮.
    抢得前场篮板球直接二次进攻时,要利用勾手的快速、隐蔽、灵活的特点,马上进得勾射或半勾射,使对方来不及封盖,命中得分.和任何一种投篮方法一样,勾手投篮命中率的高低取决于瞄准的正确性,手指的柔和及身体的协调用力,球出手的角度、旋转及手腕、手指对球的控制,身体的平衡及连贯的随球动作.
    由于有“3秒”的规则,勾手投篮在以上时机运用时,中锋要具有快速、准确的投篮技术,并在比赛中能正确运用,不让防守者封盖住,尽可能多地创造得分机会.
    勾手投篮 动作方法:以运动员横切至篮下接球用右手投篮为例,右脚跨出接球,同时用力侧蹬,接着左脚向篮下跨出一大步,身体重心下降,上体向左侧倾斜,左脚用力蹬地起跳,右腿屈膝上提,右手持球由胸前经体侧向上做弧形摆动,举球到头侧上方最高点,同时目视球篮用手腕和手指力量使球碰板投篮。 动作要点:两脚用力垂直跳,腾空放松平衡好,举球头上要稳定,出手时机掌握巧。