HarmonyOS鸿蒙Next中H5拉起系统录音能力的样例代码
HarmonyOS鸿蒙Next中H5拉起系统录音能力的样例代码 有没有通过H5拉起系统录音能力的样例代码呢
2 回复
在HarmonyOS鸿蒙Next中,H5页面可以通过JavaScript调用系统录音能力。以下是一个简单的样例代码,展示了如何在H5页面中拉起系统录音功能:
按钮 开始录音
和 停止录音
可以触发录音功能。
let mediaRecorder;
let audioChunks = [];
document.getElementById('startRecord').addEventListener('click', async () => {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
mediaRecorder = new MediaRecorder(stream);
mediaRecorder.ondataavailable = (event) => {
audioChunks.push(event.data);
};
mediaRecorder.onstop = () => {
const audioBlob = new Blob(audioChunks, { type: 'audio/wav' });
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
audio.play();
audioChunks = [];
};
mediaRecorder.start();
});
document.getElementById('stopRecord').addEventListener('click', () => {
mediaRecorder.stop();
});
这段代码通过navigator.mediaDevices.getUserMedia
获取音频流,并使用MediaRecorder
对象进行录音。录音数据存储在audioChunks
数组中,录音停止后生成音频文件并播放。
更多关于HarmonyOS鸿蒙Next中H5拉起系统录音能力的样例代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,H5页面可以通过调用系统的@ohos.multimedia.audio
模块来拉起系统录音功能。以下是一个简单的样例代码:
// H5页面中通过JavaScript调用系统录音
async function startRecording() {
try {
const audio = require('@ohos.multimedia.audio');
const audioRecorder = await audio.createAudioRecorder();
const config = {
audioEncoder: audio.AudioEncoder.AAC_LC,
audioSampleRate: audio.AudioSampleRate.SAMPLE_RATE_44100,
numberOfChannels: audio.AudioChannel.CHANNEL_2
};
await audioRecorder.prepare(config);
await audioRecorder.start();
console.log('Recording started');
} catch (error) {
console.error('Error starting recording:', error);
}
}
// 调用录音功能
startRecording();
此代码片段展示了如何在H5页面中通过JavaScript调用系统的录音功能。用户可以通过点击按钮或其他交互方式触发startRecording
函数,开始录音。