[WPF 學習] 15.播放百度合成的語音

SoundPlayer是爲應用程序添加音頻功能最簡單、最輕量型的方法,但只能播放wav格式的語音。code

百度在線語音合成能夠合成wav格式的語音,保存爲本地文件,SoundPlayer出錯,仔細看文檔發現百度的wav就是pcm-16k(3爲mp3格式(默認); 4爲pcm-16k;5爲pcm-8k;6爲wav(內容同pcm-16k))orm

而pcm格式轉換成wav格式只要在前面添加44字節的格式數據文檔

_WaveHeader = new byte[] {
                (byte)'R',(byte)'I',(byte)'F', (byte)'F', //4
                0,0,0,0,//4字節文件長度,包括這44個字節
                (byte)'W',(byte)'A',(byte)'V', (byte)'E', //4
                (byte)'f',(byte)'m',(byte)'t', (byte)' ', //4
                16,0,0,0,// length of FORMAT chunk (always 0x10) 
                1,0,//format: 1(PCM) ,2字節
                1,0,//Channels 1 = 單聲道,2字節
                128,62,0,0,//採樣頻率 16000(16K)
                0,125,0,0,//採樣速率 1*16000*2  
                2,0,//採樣字節數(16/8 2字節)
                16,0,//採樣位數(16位)
                (byte)'d',(byte)'a',(byte)'t', (byte)'a', //4
                0,0,0,0 //4字節語音數據長度
            };

替換4-7和40-43字節的內容即是wav格式的文件了。form

相關文章
相關標籤/搜索