WAV PCM文件的最大优点在于,你无需进行任何绑定操作,就能将来自两个文件的二进制音频数据连接起来。你只需把其中一个文件的二进制数据粘合到另一个文件的末尾,再调整一下Subchunk2Size,即可实现两个文件的接合。唯一的缺点是这两个文件的式必须相同;在
WAV PCM文件的最大优点在于,你无需进行任何绑定操作,就能将来自两个文件的二进制音频数据连接起来。你只需把其中一个文件的二进制数据粘合到另一个文件的末尾,再调整一下Subchunk2Size值,即可实现两个文件的接合。唯一的缺点是这两个文件的格式必须相同;在本例中,不涉及问题。
当解析音频文件时,先将二进制音频数据读入一个缓冲数组中,然后再将另一个文件的数据读到这个数组的末端。重复这一过程直到所有的文件都被读取完毕。创建一个FILESTRUCT结构,填入格式信息,调整Subchunk2Size值,将Data成员设为缓冲数组,将FILESTRUCT写为需要的输出格式。对于基于PHP的Web发布系统,其输出为标准输出。以下为示范代码:
本调用的第一个参数是对FILESTRUCT对象的引用。第二个参数是对一列文件名字符串的引用。在每次for循环中,我都将列表中的一个文件名载入一个FILESTRUCT中,然后再将每一个FILESTRUCT的Data属性提取出来,并合并到一个现有的缓冲区中。完成以上操作后,我通过一个事先声明的全局变量对FILESTRUCT参数对象的属性进行设定,然后改变Subchunk2Size属性,并将Data属性设为新的缓冲区。
你可能注意到,我使用了一些功能函数来填充FILESTRUCT结构、计算来自little endian字节数组的数值、创建little endian字节数组和拆分字符串为二进制数组。以下为这些函数:
为了实现这个类的功能,你可以创建一个CStitcher实例并调用StitchFiles()方法,以传递合适的参数:
$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);
可用以下代码将二进制数据写到HTTP输出中:
以下是一段HTML代码,用于测试结果:
如果你有兴趣学习更多关于WAV PCM f格式的知识,请访问我获得这类信息的网站

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver CS6
Outils de développement Web visuel

Version Mac de WebStorm
Outils de développement JavaScript utiles

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP