Cordova多媒體


Cordova 媒體外掛用來錄製和 Cordova 應用程式播放音訊聲音。

第1步 - 安裝外掛媒體

媒體外掛可以通過在命令提示字元視窗中執行下面的程式碼安裝。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-media

第2步 - 新增按鈕

本教學中,我們將建立一個簡單的音訊播放。我們建立一個按鈕在 index.html 檔案中。
<button id = "playAudio">PLAY</button>
<button id = "pauseAudio">PAUSE</button>
<button id = "stopAudio">STOP</button>
<button id = "volumeUp">VOLUME UP</button>
<button id = "volumeDown">VOLUME DOWN</button>

第3步 - 新增事件監聽器

現在,我們需要為按鈕新增事件偵聽器在檔案 index.js 中的 onDeviceReady 函式內。
document.getElementById("playAudio").addEventListener("click", playAudio);
document.getElementById("pauseAudio").addEventListener("click", pauseAudio);
document.getElementById("stopAudio").addEventListener("click", stopAudio);
document.getElementById("volumeUp").addEventListener("click", volumeUp);
document.getElementById("volumeDown").addEventListener("click", volumeDown);

步驟4A - 播放功能

我們要新增的第一個函式是 playAudio。我們定義myMedia 在函式之外是因為我們希望在將要在以後新增的函式可以使用它(暫停,停止,音量增加和音量減小)。此程式碼放置在 index.js 檔案中。

var myMedia = null;

function playAudio() {
   var src = "/android_asset/www/audio/piano.mp3";

   if(myMedia === null) {
      myMedia = new Media(src, onSuccess, onError);

      function onSuccess() {
         console.log("playAudio Success");
      }

      function onError(error) {
         console.log("playAudio Error: " + error.code);
      }

   }

   myMedia.play();
}

我們點選 PLAY 按鈕,開始由在 src 指定的路徑播放鋼琴音樂。

步驟4B - 暫停和停止函式功能

我們所需要的下一個函式是pauseAudio 和 stopAudio
function pauseAudio() {
   if(myMedia) {
      myMedia.pause();
   }
}

function stopAudio() {
   if(myMedia) {
      myMedia.stop(); 
   }
	
   myMedia = null;
}
現在,我們可以暫停或通過單擊暫停或停止按鈕來停止鋼琴的聲音。

步驟4C - 音量函式功能

要設定音量,我們可以使用 setVolume 方法。此方法需要使用引數值是從0到1。設定初值為0.5。

var volumeValue = 0.5;

function volumeUp() {
   if(myMedia && volumeValue < 1) {
      myMedia.setVolume(volumeValue += 0.1);
   }
}

function volumeDown() {
   if(myMedia && volumeValue > 0) {
      myMedia.setVolume(volumeValue -= 0.1);
   }
} 

當按 VOLUME UP 或 VOLUME DOWN 就可以通過改變音量0.1的值。

該外掛提供如下表顯示的其它方法。
方法 詳細
getCurrentPosition
返回音訊的當前位置
getDuration
返回一個音訊的持續時間
play
用於開始或恢復音訊
pause
用於暫停音訊
release
發布底層作業系統的音訊資源
seekTo
用於改變音訊的位置
setVolume
用於音訊設定音量
startRecord
開始錄製音訊檔案
stopRecord
停止錄製音訊檔案
stop
停止播放音訊檔案