[工具推薦]_iOS音頻批量轉換

來源:互聯網
上載者:User

標籤:

通常為了便於市場推廣和獲得更高的下載量,產品安裝包的體積是越小越好。那麼問題來了,要如何才能做到使安裝包的體積最小化呢。根據產品的組成成分,最終可以大概分為,代碼,圖片,視頻,音頻等這幾部分,今天我們就以iOS平台為例從音頻這塊入手,看如何使安裝包的體積最小化。

我們知道每個音頻檔案都是由兩部分內容所構成:

[1].檔案格式(或音頻容器)

檔案格式(或音頻容器)是用於形容檔案本身的格式。我們可以通過多種不同的方法為真正的音頻資料編碼。iPhone支援許多檔案格式,包括MPEG-1(.mp3),MPEG-2 ADTS(.aac),AIFF,CAF以及WAVE。

[2]. (或音頻編碼) 

  • AAC:AAC是指“進階音頻編碼”,可以說它MP3格式的延續。你可能會想這種格式將壓縮最初的聲音而儲存在磁碟中,所以會降低原先聲音的品質。但是通常情況下我們很難注意到品質的降低,並且這主要是取決於我們所設定的位元速率。實際上AAC的壓縮做得比MP3好多了,特別是在位元速率低於每秒128千位元的情況下。
  • HE-AAC:HE-AAC是AAC的超集,HE表示“高效率”。HE-AAC是對於低位元速率音頻(如流式音頻)的最佳化。
  • AMR:AMR代表“自適應多速率”,是語音最佳化的另一種編碼最佳化格式,能夠突出極低位元速率音頻。
  • ALAC:同樣也被稱為“Apple Lossless”,它是一種可以不破壞品質而壓縮音訊編碼。實際上它大概會壓縮未經處理資料的40-60%。再加上演算法是經過精心設計的,所以我們可以以較快的速度解壓資料,這非常適合像iPod或iPhone等裝置。
  • iLBC:這是另一種最佳化語音的編碼,有益於IP語音和流媒體格式。
  • IMA4:這是一種壓縮格式,將對16位體的音頻檔案進行4:1的壓縮。這是面向iPhone裝置的一種重要編碼。
  • 線性PCM:這是表示線性脈衝編碼調製,主要是描寫用於將類比聲音資料轉換成數字格式的技術。簡單地說也就是未壓縮的資料。因為資料是未壓縮的,所以我們便可以最快速地播放出音頻,而如果空間不是問題的話這便是iPhone音訊優先代碼選擇。
  • μ-law和a-law:這是兩種交替式編碼,能夠將類比資料轉換成數字格式,但是比起線性PCM擁有更強的語音最佳化效果。
  • MP3:這是我們最熟悉也是最喜歡的一種格式。這麼多年以來MP3仍是最受歡迎的一種格式,而iPhone也支援這種格式。

這麼多種檔案格式,與資料格式我們該選擇哪種呢?通常情況下我們都會選擇CAF,因為它能夠同時包含所有iPhone所支援的編碼(資料格式),並且它也是iPhone中的優先檔案格式選擇。

現在我們產品中用的都是MP3,如何方便快速的全部轉換為CAF,蘋果真的是太人性化了,早就為我們準備了三個內建命令列工具:afplay,afconvert以及afinfo,我們要用到的就是afconvert。當然我們還可以用iTunes來轉換但是太麻煩了.

iTunes 操作:

  [1].進入iTunes喜好設定

  

  [2].進入匯入設定

  

  [3].選擇編輯器(AAC),並按需求進行位元速率選擇

  

  [4].轉換音頻

  

 

命令列工具 afconvert:

# test.mp3轉換成test.caf 了,並設定了位元速率位 57623 (56kbps) afconvert -d aac -f caff -b 57623 /User/XXX/test.mp3   /User/XXX/test.caf

 

一個個檔案轉換太麻煩了,有沒更方便的,如直接把某個目錄下的所有mp3 轉化成 caf? 有的這就為你奉上。

#!/bin/shfunction scandir() {    local cur_dir parent_dir workdir    workdir=$1    cd ${workdir}    if [ ${workdir} = "/" ]    then        cur_dir=""    else        cur_dir=$(pwd)    fi    for dirlist in $(ls ${cur_dir})    do        if test -d ${dirlist};then            cd ${dirlist}            scandir ${cur_dir}/${dirlist}            cd ..        else        file=${cur_dir}/${dirlist}            # echo file            filename=${file%.*}            suffix=${file##*.}if [ "${file##*.}" = "mp3" ]thenafconvert -d aac -f caff -b 57623 $file "$filename.caf"                echo "${file}  --> caf 轉換完成。。。"                rm -rf "$file"else echo ‘不是MP3檔案‘fi        fi    done}if test -d $1then    scandir $1elif test -f $1then    echo "請輸入一個檔案..."    exit 1else    echo "該目錄已經存在..."    exit 1fi

 

複製儲存為xxx.sh,大功告成,只需在終端執行即可。

就這樣子,一鍵無痛的將目錄下地所有mp3 轉換成 caf了。

 

 

 

本站文章為 寶寶巴士 SD.Team 原創,轉載務必在明顯處註明:(作者官方網站: 寶寶巴士 ) 
轉載自【寶寶巴士SuperDo團隊】 原文連結: http://www.cnblogs.com/superdo/p/4783380.html

 

[工具推薦]_iOS音頻批量轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.