免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
實現(xiàn)一個PHP WAV接合方案
WAV PCM文件的最大優(yōu)點在于,你無需進行任何綁定操作,就能將來自兩個文件的二進制音頻數(shù)據(jù)連接起來。你只需把其中一個文件的二進制數(shù)據(jù)粘合到另一個文件的末尾,再調(diào)整一下Subchunk2Size值,即可實現(xiàn)兩個文件的接合。唯一的缺點是這兩個文件的格式必須相同;在本例中,不涉及問題。
當解析音頻文件時,先將二進制音頻數(shù)據(jù)讀入一個緩沖數(shù)組中,然后再將另一個文件的數(shù)據(jù)讀到這個數(shù)組的末端。重復這一過程直到所有的文件都被讀取完畢。創(chuàng)建一個FILESTRUCT結構,填入格式信息,調(diào)整Subchunk2Size值,將Data成員設為緩沖數(shù)組,將FILESTRUCT寫為需要的輸出格式。對于基于PHP的Web發(fā)布系統(tǒng),其輸出為標準輸出。以下為示范代碼:
本調(diào)用的第一個參數(shù)是對FILESTRUCT對象的引用。第二個參數(shù)是對一列文件名字符串的引用。在每次for循環(huán)中,我都將列表中的一個文件名載入一個FILESTRUCT中,然后再將每一個FILESTRUCT的Data屬性提取出來,并合并到一個現(xiàn)有的緩沖區(qū)中。完成以上操作后,我通過一個事先聲明的全局變量對FILESTRUCT參數(shù)對象的屬性進行設定,然后改變Subchunk2Size屬性,并將Data屬性設為新的緩沖區(qū)。
你可能注意到,我使用了一些功能函數(shù)來填充FILESTRUCT結構、計算來自little endian字節(jié)數(shù)組的數(shù)值、創(chuàng)建little endian字節(jié)數(shù)組和拆分字符串為二進制數(shù)組。以下為這些函數(shù):
為了實現(xiàn)這個類的功能,你可以創(chuàng)建一個CStitcher實例并調(diào)用StitchFiles()方法,以傳遞合適的參數(shù):
$ChunkID_ = array(0x52, 0x49, 0x46, 0x46); //"RIFF" big endian
$FileFormat_ = array(0x57, 0x41, 0x56, 0x45); //"WAVE" big endian
$Subchunk1ID_ = array(0x66, 0x6D, 0x74, 0x20); //"fmt" big endian
$AudioFormat_ = array(0x1, 0x0); //PCM = 1 little endian
$Stereo_ = array(0x2, 0x0); //Stereo = 2 little endian
$Mono_ = array(0x1, 0x0); //Mono = 1 little endian
$SampleRate_ = array(0x44, 0xAC, 0x0, 0x0); //44100 little endian
$BitsPerSample_ = array(0x10, 0x0); //16 little endian
$Subchunk2ID_ = array(0x64, 0x61, 0x74, 0x61); //"data" big endian
$files = array("C:\\Inetpub\\wwwroot\\Test\\PHP\\1.wav",
"C:\\Inetpub\\wwwroot\\Test\\PHP\\2.wav");
$Stitcher = new CStitcher();
$file = new FILESTRUCT();
$Stitcher->StitchFiles($file, $files);
可用以下代碼將二進制數(shù)據(jù)寫到HTTP輸出中:
以下是一段HTML代碼,用于測試結果:
<html>
<head>
<script language="JavaScript">
function play_soundbyte() {
bgsound1.src = "wavstitch.php";
}
</script>
</head>
<bgsound id="bgsound1" loop="1">
<body>
<a href="javascript:play_soundbyte();">Click here to play soundbyte.</a>
</body>
</html>
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PHP中數(shù)組的區(qū)別
php foreach處理多個數(shù)組
[PHP] 判斷兩個數(shù)組是否相同
PHP內(nèi)核探索之變量 - 不平凡的字符串
PHP中讀取文件的幾個方法
PHP教程(6)字符串數(shù)組函數(shù)+數(shù)組運算(合并+比較)+驗證碼)+文件上傳(數(shù)據(jù)傳輸流+上傳條件+上傳步驟)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服