㈠ php如何将音频变声
php可以转换音频文件格式,说到底它是个网页代码,做不了变声器
㈡ 如何将音频文件转为base64 编码
1、首先需要新建一个php文件,命名为test.php。
㈢ php怎么转换音频文件,在线跪求大神指教!
你是下载错了吧?所谓的php音频文件,或者你说的php转换一般的音频文件基本都是引用了错误的下载地址下载的网页文件,并不是你需要的音频文件!
㈣ php 代码如何将amr格式转换成mp3格式,不用FFmpeg
安装完成ffmpeg后,就可以使用ffmpeg进行音频文件格式转换。比如 ./ffmpeg -i /media/1.mp3 /media/1.wav, 通过该命令行可以将/media文件夹下1.mp3文件转换成WAV格式的。
但是反过来 ./ffmpeg -i /media/1.WAV /media/1.MP3 却不能转换成Mp3格式,提示如下错误(找不到编码器):
Stream mapping:
Stream #0:0 -> #0:0 (wav -> ?)
Encoder (codec none) not found for output stream #0:0
如果强行指定编码器 ./ffmpeg -i /media/1.wav -acodec mp3 /media/1.mp3, 仍提示找不到编码器错误:
Unknown encoder 'mp3'
这是因为,ffmpeg虽然是个开源软件,但因为具体格式的版权原因,它并没有包含所有的编解码格式,或者有个格式只有对应的解码器,但没有编码器,比如 Mp3就只有解码器,能播放Mp3文件,但却没有Mp3的编码器,无法将其它格式转换成Mp3。可以通过命令行 ./ffmpeg -codecs 查询编解码配置,第一个D表示Decoder,该格式能够解码;E表示Encoder,该格式可以编码。从中可以看出Mp3不能编码,Mp2倒是即可解码 也可编码。如何解决这个问题呢?
D A D mp1 MP1 (MPEG audio layer 1)
D A D mp1float MP1 (MPEG audio layer 1)
DEA D mp2 MP2 (MPEG audio layer 2)
D A D mp2float MP2 (MPEG audio layer 2)
D A D mp3 MP3 (MPEG audio layer 3)
D A D mp3a ADU (Application Data Unit) MP3 (MPEG audio layer 3)
D A D mp3afloat ADU (Application Data Unit) MP3 (MPEG audio layer 3)
我的第一个方法是自己写代码来完成。源码文件中,Allcodecs.c中对各个格式进行注册,先修改Mp3的注册行,改为同时注册解码器和编码器:
REGISTER_ENCDEC (MP2, mp2);
REGISTER_DECODER (MP2FLOAT, mp2float);
REGISTER_DECODER (MP3, mp3) // 此行修改为 REGISTER_ENCDEC (MP3, mp3)
然后新增Mp3编码器的实现Struct,里面Init函数、encode函数、close函数使用Mp2的函数,因为我也不知道如何去实现Mp3的函数,或者说到代码实现级我也不知道Mp3和Mp2的区别在哪。
AVCodec ff_mp3_encoder = {
.name = "mp3",
.type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_MP3,
.priv_data_size = sizeof(MpegAudioContext),
.init = MPA_encode_init,
.encode = MPA_encode_frame,
.close = MPA_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},
.supported_samplerates= (const int[]){44100, 48000, 32000, 22050, 24000, 16000, 0},
.long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
.defaults = mp3_defaults,
};
重新编译上线。 用命令行./ffmpeg -i /media/1.WAV /media/1.MP3 试了一下,能成功生成1.mp3文件,文件也能播放。似乎没有问题了,单用 file /media/1.mp3 查看了一下,发现文件不是Mp3格式的,而是Mp2格式的:
/media/1.mp3: MPEG ADTS, layer II, v1, 128 kbps, 44.1 kHz, Stereo
很遗憾,自行修改代码的方式行不通,因为不是每个编解码格式协议的专家,自行修改代码失败的风险很大,不仅是Mp3,还有一些其他格式比如AMR OGG H.263是没有编码器的。所以,第二个方案,使用成熟的第三方编码器和ffmpeg结合。
Mp3比较好的开源第三方库是libmp3lame(简称Lame)。我下了一个最新版本(3.99.4)的Lame源码,编译它:
首先配置: ./configure --prefix=/shared --enable-shared --enable-static
然后编译: make
make install
生成文件: 动态链接库 /shared/lib/libmp3lame.so 和 静态链接库 /shared/lib/libmp3lame.a。这里只需要使用动态链接库,将.so文件拷贝到/lib中,这个文件夹是动态链接库的默认搜索路径, 让ffmpeg运行时可以找到。
然后对ffmpeg配置libmp3lame: ./configure --enable-libmp3lame
重新编译ffmpeg,运行转化命令,看看效果如何。
首先执行 ./ffmpeg -codecs 查看可用编解码的变化,可以看到多出了libmp3lame编码器,带E的:
D V D lagarith Lagarith lossless
EA libmp3lame libmp3lame MP3 (MPEG audio layer 3)
EV ljpeg Lossless JPEG
D V D loco LOCO
然后执行 ./ffmpeg -i /media/1.WAV /media/1.MP3, 生成1.mp3,用File命令查看,确实是Mp3文件。
/media/1.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, Stereo
大功告成,问题解决。
也可在命令行中指定编解码生成Mp3文件:./ffmpeg -i /media/1.WAV -acodec libmp3lame /media/1.MP3.
㈤ php格式的音频转换
推荐下载“千千静听”,打开要转换格式的音乐文件,在播放列表中右击需要转换为MP3格式的歌曲,“转换格式”,在打开的“转换格式”对话框中,选择“编码格式”及保存位置,“立即转换”,很容易的,支持各种格式,而且在线自动下载歌词,功能太多了,而且是免费的,用过了就知道了,N合1的功能。强烈推荐。
㈥ php文件怎么转换成mp3格式的呢
php是网页程序,而mp3是音频文件的格式.他们之间不存在所谓的转换.
如果你是看到某个音频的播放地址是.php结尾的.你只需要直接下载地址的音频.然后用专业的音频软件进行转换就可以了
㈦ php文件怎么转换成mp3格式的呢
PHP转不成MP3
PHP是网页,换句话说,就是HTML的变种,一共也只有几KB的大小,一个MP3歌曲最少也要3M以上吧?
你下载的MP3文件格式不正确,或者说,你没有找到下载的正确方法:
你可以能过网络MP3来下载歌曲,打开这个歌曲后,在音乐盒上有个链接,点击它绝对可以下载到真正的MP3文件
另外,你也可以使用酷我、酷狗等等音乐工具进行下载
最后说说都有哪些音频文件,这些音频文件才是可以互相转换的:
1.CD、
2.OGG、
3.MP3、
4.ASF.WMA、
5.WAV、
6.MP3PRO、
7.RM、
8.REAL、
9.APE、
10.MODULE、
11.MIDI、
12.VQF
㈧ 怎样将php文件转换成mp3
“千千静听”打开要转换格式的音乐文件,在播放列表中右击需要转换为MP3格式的歌曲,“转换格式”,在打开的“转换格式”对话框中,选择“编码格式”及保存位置,“立即转换”、、
㈨ php如何将音频slik转化为pcm
1、安装ffmpeg
2、php exec() 函数执行。
㈩ 用PHP如何把wav格式音频转换成mmf格式音频
这些跟本是牛头不搭马嘴的东西,不过,还是可以实现,非常复杂。你可以用c+ 或者其它的软件写一个程式,检测 php 提交出来的命令,然后让你写出来的软件运用第三方的软件转换好后载触发php 读取写入。
代码是没有了,你一定要这么做又出得起钱可以来找我。