native plugin คือการทำให้ ionic ที่เราเขียนสามารถทำงานกับอุปกรณ์ต่างๆ ได้โดยใช้  plugin ของ ionic เองเช่น การควบคุมการสั่งงานกล้อง การสั่งให้อุปกรณ์เปิดปิดเสียง สั่งสั่น ควบคุมการเข้าถึง fingerprint ฯลฯ

ตัวอย่างการใช้งาน nativeplugin เช่น native vibration สั่งให้เครื่องสั่น (ต้องทดสอบกับเครื่อง device จริง)

link plugin https://ionicframework.com/docs/native/vibration

  1. เข้าไปในโฟลเดอร์ของเราแล้วพิมพ์ cmd แล้วพิมพ์ ionic start week8_nativeaudio blank
  2. cd week8_nativeaudio หลังจากนั้นจะต้อง add plugin
  3. ionic cordova plugin add cordova-plugin-nativeaudionpm
  4. install @ionic-native/native-audio
  5. หลังจากนั้นเปิด visual studio code เปิดโฟลเดอร์ week8_nativeaudio เพื่อแก้โปรเจ็ค
  6. หาไฟล์ audio มาวางที่ week8_nativeaudio/src/assets (สามารถดาวโหลดไฟล์เพลงจาก youtube ไปที่ youtube creator แล้วจะมีเพลงให้ดาวโหลด )
  7. home.page.ts
    import { Component } from '@angular/core';
    import { Vibration } from '@ionic-native/vibration/ngx';
    
    @Component({
      selector: 'app-home',
      templateUrl: 'home.page.html',
      styleUrls: ['home.page.scss'],
    })
    export class HomePage {
    
      audio:any;
      constructor(private vibration: Vibration) {
        this.audio=new Audio(); //ใช้งาน audio Load มาเก็บไว้ในเมมโมรี่ก่อน play
        this.audio.src='assets/Then_A_Left_Turn.mp3';
        this.audio.load();
      }
      
      onClick(){
        this.vibration.vibrate(1000);//เปิดสั่น 1 วินาที
        this.audio.play();//สั่งให้เล่นเพลง
      }
      onStop(){
        this.audio.pause();//สั่งให้เพลงหยุด
        this.audio.currentTime=0;//สั่งให้กลับไปเริ่มใหม่ต้นเพลง
      }
    
      
    }
    

     

  8. home.page.html
    <ion-header>
      <ion-toolbar>
        <ion-title>
          Ionic Blank
        </ion-title>
      </ion-toolbar>
    </ion-header>
    
    <ion-content>
      
    <ion-button (click)="onClick()">เล่น</ion-button>
    <ion-button (click)="onStop()">หยุด</ion-button>
    
    
    </ion-content>
    

     

  9. app.module.ts
    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { RouteReuseStrategy } from '@angular/router';
    
    import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
    import { SplashScreen } from '@ionic-native/splash-screen/ngx';
    import { StatusBar } from '@ionic-native/status-bar/ngx';
    
    import { AppComponent } from './app.component';
    import { AppRoutingModule } from './app-routing.module';
    import { Vibration } from '@ionic-native/vibration/ngx';//เพิ่ม native plugin .ใส่ใน providers ด้านล่างด้วย
    
    @NgModule({
      declarations: [AppComponent],
      entryComponents: [],
      imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
      providers: [
        Vibration,
        StatusBar,
        SplashScreen,
        { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
      ],
      bootstrap: [AppComponent]
    })
    export class AppModule {}
    

     

  10. กลับมาที่ cmd เพื่อรัน พิมพ์ ionic cordova run android –device

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.