scream-room.page.html 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <ion-header>
  2. <ion-toolbar>
  3. <ion-buttons slot="start">
  4. <ion-back-button></ion-back-button>
  5. </ion-buttons>
  6. <ion-title>情绪发泄室</ion-title>
  7. </ion-toolbar>
  8. </ion-header>
  9. <ion-content class="ion-padding">
  10. <div class="scream-container">
  11. <h2>释放你的情绪</h2>
  12. <p>对着手机大声喊出来吧!我们会将你的声音转化为艺术</p>
  13. <div class="visualizer-container">
  14. <canvas #visualizerCanvas class="visualizer"></canvas>
  15. </div>
  16. <div class="controls">
  17. <ion-button (click)="startRecording()" [disabled]="isRecording" shape="round" color="danger">
  18. <ion-icon name="mic" slot="start"></ion-icon>
  19. 开始吼叫
  20. </ion-button>
  21. <ion-button (click)="stopRecording()" [disabled]="!isRecording" shape="round" color="medium">
  22. <ion-icon name="square" slot="start"></ion-icon>
  23. 停止
  24. </ion-button>
  25. </div>
  26. <div class="volume-display">
  27. <ion-progress-bar [value]="volumeLevel" color="danger"></ion-progress-bar>
  28. <p>当前音量: {{volumePercentage}}%</p>
  29. </div>
  30. <div class="result" *ngIf="waveformImage">
  31. <h3>你的声波艺术画</h3>
  32. <img [src]="waveformImage" alt="声波艺术">
  33. <ion-button (click)="saveArtwork()" expand="block" color="success">
  34. <ion-icon name="download" slot="start"></ion-icon>
  35. 保存作品
  36. </ion-button>
  37. </div>
  38. </div>
  39. </ion-content>