㈠ 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 讀取寫入。
代碼是沒有了,你一定要這么做又出得起錢可以來找我。