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函数,开始录音。

回到顶部