Rumah >hujung hadapan web >uni-app >Petua dan amalan UniApp untuk main balik dan rakaman audio

Petua dan amalan UniApp untuk main balik dan rakaman audio

PHPz
PHPzasal
2023-07-04 13:37:372270semak imbas

UniApp (Aplikasi Universal) ialah rangka kerja pembangunan aplikasi merentas platform yang boleh digunakan untuk membangunkan aplikasi mudah alih, applet dan aplikasi H5 berdasarkan HTML5. Dalam UniApp, main balik dan rakaman audio adalah keperluan biasa. Artikel ini akan memperkenalkan beberapa teknik dan amalan untuk main balik dan rakaman audio serta memberikan contoh kod yang berkaitan.

1 Main balik audio
Dalam UniApp, anda boleh menggunakan uni.createInnerAudioContext() untuk mencipta objek audio. Berikut ialah contoh kod main balik audio ringkas:

// 创建音频对象
const audio = uni.createInnerAudioContext();

// 设置音频源
audio.src = '__STATIC__/audio/sample.mp3';

// 播放音频
audio.play();

// 监听音频播放完成事件
audio.onEnded(() => {
  console.log('音频播放完成');
});

// 监听音频播放错误事件
audio.onError((err) => {
  console.log('音频播放错误', err);
});

Dalam kod di atas, objek audio dicipta melalui kaedah createInnerAudioContext(). Kemudian, gunakan atribut src untuk menetapkan sumber audio, di sini menggunakan laluan ke sumber statik. Seterusnya panggil kaedah main() untuk memainkan audio. Pantau acara penyiapan main balik audio melalui kaedah onEnded() Apabila main balik audio selesai, fungsi panggil balik akan dicetuskan. Pantau peristiwa ralat main balik audio melalui kaedah onError() Apabila ralat main balik audio berlaku, fungsi panggil balik akan dicetuskan.

2. Rakaman audio
Dalam UniApp, anda boleh menggunakan kaedah uni.startRecord() dan uni.stopRecord() untuk merakam audio. Berikut ialah contoh kod rakaman audio ringkas:

// 开始录制音频
uni.startRecord({
  success: (res) => {
    console.log('音频录制成功', res.tempFilePath);
  },
  fail: (err) => {
    console.log('音频录制失败', err);
  }
});

// 停止录制音频
setTimeout(() => {
  uni.stopRecord();
}, 5000);

Dalam kod di atas, rakaman audio dimulakan melalui kaedah startRecord(). Kaedah startRecord() menerima objek sebagai parameter, dan atribut kejayaan dan kegagalan boleh ditakrifkan dalam objek. Apabila rakaman audio berjaya, fungsi kejayaan akan dipanggil dan res.tempFilePath mengandungi laluan fail sementara audio yang dirakam. Apabila rakaman audio gagal, fungsi gagal akan dipanggil, dan parameter err mengandungi maklumat ralat.

Tetapkan kelewatan 5 saat melalui kaedah setTimeout() dan kemudian panggil kaedah stopRecord() untuk menghentikan rakaman audio.

3 Ringkasan
Artikel ini memperkenalkan teknik dan amalan main balik dan rakaman audio dalam UniApp, dan menyediakan contoh kod yang berkaitan. Cipta objek audio melalui kaedah createInnerAudioContext(), tetapkan sumber audio dan mainkan audio, pantau acara penyiapan main balik audio melalui kaedah onEnded() dan pantau peristiwa ralat main balik audio melalui kaedah onError(). Mula merakam audio melalui kaedah startRecord() dan hentikan rakaman audio melalui kaedah uni.stopRecord(). Saya harap artikel ini akan membantu anda melaksanakan main balik dan rakaman audio dalam UniApp.

Atas ialah kandungan terperinci Petua dan amalan UniApp untuk main balik dan rakaman audio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn