Ionic - Cordova Native Audio

ปลั๊กอินนี้ใช้สำหรับเพิ่มเสียงเนทีฟให้กับแอพ Ionic

การใช้เสียงเนทีฟ

เพื่อให้สามารถใช้ปลั๊กอินนี้ได้เราต้องติดตั้งก่อน เปิดหน้าต่างพรอมต์คำสั่งและเพิ่มปลั๊กอิน Cordova

C:\Users\Username\Desktop\MyApp>cordova plugin add cordova-plugin-nativeaudio

ก่อนที่เราจะเริ่มใช้ปลั๊กอินนี้เราจะต้องมีไฟล์เสียง เพื่อความเรียบง่ายเราจะบันทึกไฟล์click.mp3 ไฟล์ภายในไฟล์ js โฟลเดอร์ แต่คุณสามารถวางไว้ที่ใดก็ได้ที่คุณต้องการ

ขั้นตอนต่อไปคือการโหลดไฟล์เสียงไว้ล่วงหน้า มีสองทางเลือกให้เลือก ได้แก่ -

  • preloadSimple - ใช้สำหรับเสียงธรรมดาที่จะเล่นครั้งเดียว

  • preloadComplex - สำหรับเสียงที่จะเล่นเป็นเสียงวนซ้ำหรือเสียงพื้นหลัง

เพิ่มรหัสต่อไปนี้ในคอนโทรลเลอร์ของคุณเพื่อโหลดไฟล์เสียงล่วงหน้า เราต้องแน่ใจว่าได้โหลดแพลตฟอร์ม Ionic ก่อนจึงจะสามารถโหลดไฟล์เสียงล่วงหน้าได้

รหัสคอนโทรลเลอร์

$ionicPlatform.ready(function() {
   $cordovaNativeAudio
   .preloadSimple('click', 'js/click.mp3')
	
   .then(function (msg) {
      console.log(msg);
   }, function (error) {
      console.log(error);
   });

   $cordovaNativeAudio.preloadComplex('click', 'js/click.mp3', 1, 1)
	.then(function (msg) {
      console.log(msg);
   }, function (error) {
      console.error(error);
   });
});

ในคอนโทรลเลอร์เดียวกันเราจะเพิ่มโค้ดสำหรับเล่นเสียง ของเรา$timeout ฟังก์ชันจะหยุดและยกเลิกการโหลดเสียงที่วนซ้ำหลังจากผ่านไปห้าวินาที

$scope.playAudio = function () {
   $cordovaNativeAudio.play('click');
};

$scope.loopAudio = function () {
   $cordovaNativeAudio.loop('click');

   $timeout(function () {
      $cordovaNativeAudio.stop('click');
      $cordovaNativeAudio.unload('click');
   }, 5000);
}

สิ่งสุดท้ายที่เราต้องการคือการสร้างปุ่มสำหรับเล่นและวนซ้ำเสียง

รหัส HTML

<button class = "button" ng-click = "playAudio()">PLAY</button>

<button class = "button" ng-click = "loopAudio()">LOOP</button>

เมื่อเราแตะที่ปุ่มเล่นเราจะได้ยินเสียงหนึ่งครั้งและเมื่อเราแตะที่ปุ่มลูปเสียงจะวนเป็นเวลาห้าวินาทีแล้วหยุด ปลั๊กอินนี้ใช้งานได้กับโปรแกรมจำลองหรืออุปกรณ์เคลื่อนที่เท่านั้น